Dooble
dooble_about.h
1 /*
2 ** Copyright (c) 2008 - present, Alexis Megas.
3 ** All rights reserved.
4 **
5 ** Redistribution and use in source and binary forms, with or without
6 ** modification, are permitted provided that the following conditions
7 ** are met:
8 ** 1. Redistributions of source code must retain the above copyright
9 ** notice, this list of conditions and the following disclaimer.
10 ** 2. Redistributions in binary form must reproduce the above copyright
11 ** notice, this list of conditions and the following disclaimer in the
12 ** documentation and/or other materials provided with the distribution.
13 ** 3. The name of the author may not be used to endorse or promote products
14 ** derived from Dooble without specific prior written permission.
15 **
16 ** DOOBLE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 ** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 ** DOOBLE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27 
28 #ifndef dooble_about_h
29 #define dooble_about_h
30 
31 #include <QFuture>
32 #include <QMainWindow>
33 
34 #include "ui_dooble_about.h"
35 
36 #ifndef dooble_architecture_h
37 #define dooble_architecture_h
38 #if defined(__alpha_ev4__)
39 #define DOOBLE_ARCHITECTURE_STR "__alpha_ev4__"
40 #elif defined(__alpha_ev5__)
41 #define DOOBLE_ARCHITECTURE_STR "__alpha_ev5__"
42 #elif defined(__alpha_ev6__)
43 #define DOOBLE_ARCHITECTURE_STR "__alpha_ev6__"
44 #elif defined(__alpha__)
45 #define DOOBLE_ARCHITECTURE_STR "__alpha__"
46 #elif defined(__amd64__)
47 #define DOOBLE_ARCHITECTURE_STR "__amd64__"
48 #elif defined(__amd64)
49 #define DOOBLE_ARCHITECTURE_STR "__amd64"
50 #elif defined(__x86_64__)
51 #define DOOBLE_ARCHITECTURE_STR "__x86_64__"
52 #elif defined(__x86_64)
53 #define DOOBLE_ARCHITECTURE_STR "__x86_64"
54 #elif defined(__ARM_ARCH_6J__)
55 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_6J__"
56 #elif defined(__ARM_ARCH_6K__)
57 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_6K__"
58 #elif defined(__ARM_ARCH_6T2__)
59 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_6T2__"
60 #elif defined(__ARM_ARCH_6ZK__)
61 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_6ZK__"
62 #elif defined(__ARM_ARCH_6Z__)
63 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_6Z__"
64 #elif defined(__ARM_ARCH_6__)
65 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_6__"
66 #elif defined(__ARM_ARCH_7A__)
67 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_7A__"
68 #elif defined(__ARM_ARCH_7M__)
69 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_7M__"
70 #elif defined(__ARM_ARCH_7R__)
71 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_7R__"
72 #elif defined(__ARM_ARCH_7S__)
73 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_7S__"
74 #elif defined(__ARM_ARCH_7__)
75 #define DOOBLE_ARCHITECTURE_STR "__ARM_ARCH_7__"
76 #elif defined(i386)
77 #define DOOBLE_ARCHITECTURE_STR "i386"
78 #elif defined(__i386)
79 #define DOOBLE_ARCHITECTURE_STR "__i386"
80 #elif defined(__i386__)
81 #define DOOBLE_ARCHITECTURE_STR "__i386__"
82 #elif defined(__i486__)
83 #define DOOBLE_ARCHITECTURE_STR "__i486__"
84 #elif defined(__i586__)
85 #define DOOBLE_ARCHITECTURE_STR "__i586__"
86 #elif defined(__i686__)
87 #define DOOBLE_ARCHITECTURE_STR "__i686__"
88 #elif defined(_X86_)
89 #define DOOBLE_ARCHITECTURE_STR "_X86_"
90 #elif defined(__ia64__)
91 #define DOOBLE_ARCHITECTURE_STR "__ia64__"
92 #elif defined(_IA64)
93 #define DOOBLE_ARCHITECTURE_STR "_IA64"
94 #elif defined(__IA64__)
95 #define DOOBLE_ARCHITECTURE_STR "__IA64__"
96 #elif defined(__powerpc64__)
97 #define DOOBLE_ARCHITECTURE_STR "__powerpc64__"
98 #elif defined(__ppc64__)
99 #define DOOBLE_ARCHITECTURE_STR "__ppc64__"
100 #elif defined(__PPC64__)
101 #define DOOBLE_ARCHITECTURE_STR "__PPC64__"
102 #elif defined(_ARCH_PPC64)
103 #define DOOBLE_ARCHITECTURE_STR "_ARCH_PPC64"
104 #elif defined(__powerpc)
105 #define DOOBLE_ARCHITECTURE_STR "__powerpc"
106 #elif defined(__powerpc__)
107 #define DOOBLE_ARCHITECTURE_STR "__powerpc__"
108 #elif defined(__POWERPC__)
109 #define DOOBLE_ARCHITECTURE_STR "__POWERPC__"
110 #elif defined(__ppc__)
111 #define DOOBLE_ARCHITECTURE_STR "__ppc__"
112 #elif defined(__PPC__)
113 #define DOOBLE_ARCHITECTURE_STR "__PPC__"
114 #elif defined(_ARCH_PPC)
115 #define DOOBLE_ARCHITECTURE_STR "_ARCH_PPC"
116 #elif defined(__sparc_v8__)
117 #define DOOBLE_ARCHITECTURE_STR "__sparc_v8__"
118 #elif defined(__sparc_v9__)
119 #define DOOBLE_ARCHITECTURE_STR "__sparc_v9__"
120 #elif defined(__sparcv8)
121 #define DOOBLE_ARCHITECTURE_STR "__sparcv8"
122 #elif defined(__sparcv9)
123 #define DOOBLE_ARCHITECTURE_STR "__sparcv9"
124 #elif defined(__sparc__)
125 #define DOOBLE_ARCHITECTURE_STR "__sparc__"
126 #elif defined(__sparc)
127 #define DOOBLE_ARCHITECTURE_STR "__sparc"
128 #else
129 #define DOOBLE_ARCHITECTURE_STR "gingerjitter"
130 #endif
131 #endif
132 
133 class swifty;
134 
135 class dooble_about: public QMainWindow
136 {
137  Q_OBJECT
138 
139  public:
140  dooble_about(void);
141  ~dooble_about();
142  void compute_self_digest(void);
143 
144  protected:
145  void keyPressEvent(QKeyEvent *event);
146 
147  private:
148  QFuture<void> m_future;
149  Ui_dooble_about m_ui;
150  swifty *m_swifty;
151  void compute_self_digest_task(const QString &file_path);
152 
153  private slots:
154  void slot_file_digest_computed(const QByteArray &digest);
155  void slot_link_activated(const QString &url);
156  void slot_swifty(void);
157 
158  signals:
159  void file_digest_computed(const QByteArray &digest);
160  void link_activated(const QUrl &url);
161 };
162 
163 #endif
Definition: dooble_about.h:136
Definition: dooble_swifty.h:36