- Sorted some stuff

- Began to implement new GUI
This commit is contained in:
Dorian Zedler 2020-11-16 00:31:28 +01:00
parent 056c084713
commit d2a165a1ec
Signed by: dorian
GPG Key ID: D3B255CB8BC7CD37
100 changed files with 25022 additions and 0 deletions

13
build_gui Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
HERE=`pwd`
QT_ARCHIVE=`grep qt- ../debian/md5sums.src | awk '{ print $2 }'`
export QTDIR="$HERE"/`echo "$QT_ARCHIVE" | sed -e 's/.tar.gz//'`
export QTLIB=$QTDIR/lib/
export QTBIN=$QTDIR/bin/
"$QTBIN"/qmake -makefile -spec "$QTDIR"/mkspecs/default linboGUI.pro
make clean
make
strip linbo_gui

3
build_profile Normal file
View File

@ -0,0 +1,3 @@
QT_ARCHIVE=`grep qt- ../debian/md5sums.src | awk '{ print $2 }'`
QTDIR=`pwd`/`echo "$QT_ARCHIVE" | sed -e 's/.tar.gz//'`
"$QTDIR"/bin/qmake -project -o linboGUI_1.pro -d -norecursive

54
build_qt Executable file
View File

@ -0,0 +1,54 @@
#!/bin/bash
# Build QT embedded. This can be painful...
( QT_ARCHIVE=`grep qt- ../debian/md5sums.src | awk '{ print $2 }'`
export QTDIR=`pwd`/`echo "$QT_ARCHIVE" | sed -e 's/.tar.gz//'`
cd $QTDIR
make clean
echo -e "yes\n" | ./configure \
-xplatform linux-g++-32 \
-device-option CROSS_COMPILE=i386-linux-gnu- \
-embedded x86 \
-prefix $QTDIR \
-opensource \
-release \
-static \
-no-accessibility \
-no-xmlpatterns \
-no-phonon \
-no-phonon-backend \
-no-webkit \
-no-exceptions \
-no-svg \
-no-script \
-no-scripttools \
-no-nis \
-no-cups \
-no-stl \
-verbose \
-qt-zlib \
-qt-libpng \
-no-gif \
-no-libjpeg \
-no-openssl \
-no-iconv \
-no-dbus \
-depths 4,8,16,32 \
-no-largefile \
-no-xinerama \
-no-xrender \
-no-freetype \
-no-opengl \
-no-glib \
-nomake examples \
-nomake demos \
-no-libmng \
-no-glib \
-nomake examples \
-nomake demos \
)
( QT_ARCHIVE=`grep qt- ../debian/md5sums.src | awk '{ print $2 }'`
export QTDIR=`pwd`/`echo "$QT_ARCHIVE" | sed -e 's/.tar.gz//'`
cd $QTDIR
make -j 2 )

67
forms/linboConsole.ui Normal file
View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>linboConsole</class>
<widget class="QDialog" name="linboConsole">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>382</width>
<height>382</height>
</rect>
</property>
<property name="windowTitle">
<string>Console</string>
</property>
<widget class="QLabel" name="textLabel1">
<property name="geometry">
<rect>
<x>10</x>
<y>300</y>
<width>161</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Befehl eingeben:</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="input">
<property name="geometry">
<rect>
<x>10</x>
<y>340</y>
<width>361</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<family>DejaVu Sans</family>
</font>
</property>
</widget>
<widget class="QTextBrowser" name="output">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>361</width>
<height>291</height>
</rect>
</property>
<property name="font">
<font>
<family>DejaVu Sans</family>
</font>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<resources/>
<connections/>
</ui>

98
forms/linboCounter.ui Normal file
View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0" stdsetdef="1">
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>linboCounter</class>
<widget class="QDialog" name="linboCounter">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>131</width>
<height>172</height>
</rect>
</property>
<property name="windowTitle">
<string>Root </string>
</property>
<widget class="QLCDNumber" name="counter">
<property name="geometry">
<rect>
<x>0</x>
<y>50</y>
<width>131</width>
<height>41</height>
</rect>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="numDigits">
<number>5</number>
</property>
<property name="mode">
<enum>QLCDNumber::Dec</enum>
</property>
<property name="segmentStyle">
<enum>QLCDNumber::Filled</enum>
</property>
</widget>
<widget class="QCheckBox" name="timeoutCheck">
<property name="geometry">
<rect>
<x>5</x>
<y>100</y>
<width>130</width>
<height>30</height>
</rect>
</property>
<property name="text">
<string>Timeout</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="text">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>111</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Root Modus</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="logoutButton">
<property name="geometry">
<rect>
<x>0</x>
<y>130</y>
<width>130</width>
<height>40</height>
</rect>
</property>
<property name="text">
<string>LOGOUT</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
</ui>

491
forms/linboGUI.ui Normal file
View File

@ -0,0 +1,491 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>linboGUI</class>
<widget class="QDialog" name="linboGUI">
<property name="windowModality">
<enum>Qt::ApplicationModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>640</width>
<height>480</height>
</rect>
</property>
<property name="maximumSize">
<size>
<width>640</width>
<height>480</height>
</size>
</property>
<property name="windowTitle">
<string>LINBO legacy</string>
</property>
<property name="sizeGripEnabled">
<bool>false</bool>
</property>
<property name="modal">
<bool>false</bool>
</property>
<widget class="QTabWidget" name="Tabs">
<property name="geometry">
<rect>
<x>10</x>
<y>110</y>
<width>620</width>
<height>250</height>
</rect>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Start</string>
</attribute>
<widget class="Q3ScrollView" name="startView" native="true">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>600</width>
<height>180</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
</widget>
<widget class="QLabel" name="versionLabel">
<property name="geometry">
<rect>
<x>10</x>
<y>200</y>
<width>600</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Version</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</widget>
<widget class="QWidget" name="tab">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<attribute name="title">
<string>Imaging</string>
</attribute>
<widget class="Q3ScrollView" name="imagingView" native="true">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>410</width>
<height>180</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
</widget>
<widget class="Q3ScrollView" name="partitionView" native="true">
<property name="geometry">
<rect>
<x>429</x>
<y>10</y>
<width>180</width>
<height>180</height>
</rect>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
</widget>
</widget>
</widget>
<widget class="QPushButton" name="shutdownButton">
<property name="geometry">
<rect>
<x>600</x>
<y>390</y>
<width>33</width>
<height>33</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QPushButton" name="rebootButton">
<property name="geometry">
<rect>
<x>600</x>
<y>436</y>
<width>33</width>
<height>33</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLabel" name="timeLabel">
<property name="geometry">
<rect>
<x>560</x>
<y>110</y>
<width>70</width>
<height>15</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Uhrzeit</string>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="clientIPLabel">
<property name="geometry">
<rect>
<x>100</x>
<y>54</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Client IP</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="macLabel">
<property name="geometry">
<rect>
<x>100</x>
<y>76</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>MAC</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="cpuLabel">
<property name="geometry">
<rect>
<x>390</x>
<y>54</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>CPU</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="memLabel">
<property name="geometry">
<rect>
<x>390</x>
<y>76</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>Memory</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="nameLabel">
<property name="geometry">
<rect>
<x>100</x>
<y>10</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>name</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="hdLabel">
<property name="geometry">
<rect>
<x>390</x>
<y>10</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>hdsize</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="cacheLabel">
<property name="geometry">
<rect>
<x>390</x>
<y>32</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>cachesize</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="groupLabel">
<property name="geometry">
<rect>
<x>100</x>
<y>32</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="text">
<string>group</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="pclogowidget">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>64</width>
<height>64</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
<widget class="QLabel" name="hdlogowidget">
<property name="geometry">
<rect>
<x>310</x>
<y>20</y>
<width>64</width>
<height>64</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
<widget class="QTextEdit" name="Console">
<property name="geometry">
<rect>
<x>10</x>
<y>390</y>
<width>581</width>
<height>80</height>
</rect>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="80">
<red>200</red>
<green>200</green>
<blue>200</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="80">
<red>200</red>
<green>200</green>
<blue>200</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>128</red>
<green>128</green>
<blue>128</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>239</red>
<green>239</green>
<blue>239</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
<customwidget>
<class>Q3ScrollView</class>
<extends>QWidget</extends>
<header location="global">qscrollview.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<includes>
<include location="local">q3scrollview.h</include>
<include location="local">q3scrollview.h</include>
</includes>
<resources/>
<connections/>
</ui>

257
forms/linboImageSelector.ui Normal file
View File

@ -0,0 +1,257 @@
<ui version="4.0" >
<class>linboImageSelector</class>
<widget class="QDialog" name="linboImageSelector" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>384</width>
<height>451</height>
</rect>
</property>
<property name="windowTitle" >
<string>Image erstellen</string>
</property>
<property name="whatsThis" >
<string/>
</property>
<widget class="QLabel" name="textLabel2" >
<property name="geometry" >
<rect>
<x>10</x>
<y>0</y>
<width>360</width>
<height>80</height>
</rect>
</property>
<property name="text" >
<string>Vorhandenes Image neu erstellen oder [Neues Image] zur Erstellung einer neuen Image-Datei auswählen.
Auswahl:</string>
</property>
<property name="alignment" >
<set>Qt::AlignVCenter</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
<widget class="Q3ButtonGroup" name="imageButtons" >
<property name="geometry" >
<rect>
<x>10</x>
<y>160</y>
<width>361</width>
<height>70</height>
</rect>
</property>
<property name="title" >
<string>Image-Typ für neue Image-Datei:</string>
</property>
<widget class="QRadioButton" name="baseRadioButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>20</y>
<width>251</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Neues Basisimage</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QRadioButton" name="incrRadioButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>40</y>
<width>251</width>
<height>21</height>
</rect>
</property>
<property name="text" >
<string>Differentielles Image</string>
</property>
</widget>
</widget>
<widget class="QLabel" name="textLabel2_2" >
<property name="geometry" >
<rect>
<x>10</x>
<y>230</y>
<width>360</width>
<height>30</height>
</rect>
</property>
<property name="text" >
<string>Dateiname für neue Imagedatei eingeben:</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="specialName" >
<property name="geometry" >
<rect>
<x>10</x>
<y>260</y>
<width>360</width>
<height>30</height>
</rect>
</property>
<property name="text" >
<string>Neu</string>
</property>
</widget>
<widget class="QLabel" name="descriptionLabel" >
<property name="geometry" >
<rect>
<x>10</x>
<y>290</y>
<width>360</width>
<height>30</height>
</rect>
</property>
<property name="text" >
<string>Informationen zum Image:</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="createButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>420</y>
<width>90</width>
<height>21</height>
</rect>
</property>
<property name="toolTip" >
<string>Erstellt das ausgewählte Image&lt;br>im lokalen Cache</string>
</property>
<property name="text" >
<string>Erstellen</string>
</property>
</widget>
<widget class="QPushButton" name="createUploadButton" >
<property name="geometry" >
<rect>
<x>110</x>
<y>420</y>
<width>160</width>
<height>21</height>
</rect>
</property>
<property name="toolTip" >
<string>Erstellt das ausgewählte Image im lokalen Cache und lädt es &lt;br> anschliessend auf den Server hoch</string>
</property>
<property name="text" >
<string>Erstellen+Hochladen</string>
</property>
</widget>
<widget class="QPushButton" name="cancelButton" >
<property name="geometry" >
<rect>
<x>280</x>
<y>420</y>
<width>90</width>
<height>21</height>
</rect>
</property>
<property name="toolTip" >
<string>Abbrechen ohne Imageerstellung</string>
</property>
<property name="text" >
<string>Abbruch</string>
</property>
</widget>
<widget class="Q3ListBox" name="listBox" >
<property name="geometry" >
<rect>
<x>10</x>
<y>80</y>
<width>360</width>
<height>72</height>
</rect>
</property>
<property name="vScrollBarMode" >
<enum>Q3ScrollView::Auto</enum>
</property>
<property name="hScrollBarMode" >
<enum>Q3ScrollView::Auto</enum>
</property>
<item>
<property name="text" >
<string>New Item</string>
</property>
</item>
</widget>
<widget class="QTextEdit" name="infoEditor" >
<property name="geometry" >
<rect>
<x>10</x>
<y>320</y>
<width>361</width>
<height>71</height>
</rect>
</property>
</widget>
<widget class="QCheckBox" name="checkReboot" >
<property name="geometry" >
<rect>
<x>10</x>
<y>400</y>
<width>67</width>
<height>19</height>
</rect>
</property>
<property name="text" >
<string>Reboot</string>
</property>
</widget>
<widget class="QCheckBox" name="checkShutdown" >
<property name="geometry" >
<rect>
<x>70</x>
<y>400</y>
<width>81</width>
<height>19</height>
</rect>
</property>
<property name="text" >
<string>Shutdown</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<customwidgets>
<customwidget>
<class>Q3ButtonGroup</class>
<extends>Q3GroupBox</extends>
<header>Qt3Support/Q3ButtonGroup</header>
<container>1</container>
</customwidget>
<customwidget>
<class>Q3ListBox</class>
<extends>Q3Frame</extends>
<header>q3listbox.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>listBox</tabstop>
<tabstop>baseRadioButton</tabstop>
<tabstop>specialName</tabstop>
<tabstop>createButton</tabstop>
<tabstop>createUploadButton</tabstop>
<tabstop>cancelButton</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

125
forms/linboImageUpload.ui Normal file
View File

@ -0,0 +1,125 @@
<ui version="4.0" >
<class>linboImageUpload</class>
<widget class="QDialog" name="linboImageUpload" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>341</width>
<height>213</height>
</rect>
</property>
<property name="windowTitle" >
<string>Image Auswahl</string>
</property>
<widget class="Q3ListBox" name="listBox" >
<property name="geometry" >
<rect>
<x>10</x>
<y>50</y>
<width>320</width>
<height>90</height>
</rect>
</property>
<property name="vScrollBarMode" >
<enum>Q3ScrollView::Auto</enum>
</property>
<property name="hScrollBarMode" >
<enum>Q3ScrollView::Auto</enum>
</property>
<item>
<property name="text" >
<string>New Item</string>
</property>
</item>
</widget>
<widget class="QLabel" name="OSLabel" >
<property name="geometry" >
<rect>
<x>10</x>
<y>10</y>
<width>310</width>
<height>31</height>
</rect>
</property>
<property name="text" >
<string>Welches Image soll hochgeladen werden?</string>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="cancelButton" >
<property name="geometry" >
<rect>
<x>230</x>
<y>170</y>
<width>100</width>
<height>31</height>
</rect>
</property>
<property name="toolTip" >
<string>Abbrechen ohne Hochladen</string>
</property>
<property name="text" >
<string>Abbruch</string>
</property>
</widget>
<widget class="QPushButton" name="okButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>170</y>
<width>100</width>
<height>31</height>
</rect>
</property>
<property name="toolTip" >
<string>Lädt das ausgewählte&lt;br>Image auf den Server hoch</string>
</property>
<property name="text" >
<string>OK</string>
</property>
</widget>
<widget class="QCheckBox" name="checkReboot" >
<property name="geometry" >
<rect>
<x>10</x>
<y>150</y>
<width>67</width>
<height>19</height>
</rect>
</property>
<property name="text" >
<string>Reboot</string>
</property>
</widget>
<widget class="QCheckBox" name="checkShutdown" >
<property name="geometry" >
<rect>
<x>70</x>
<y>150</y>
<width>81</width>
<height>19</height>
</rect>
</property>
<property name="text" >
<string>Shutdown</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<customwidgets>
<customwidget>
<class>Q3ListBox</class>
<extends>Q3Frame</extends>
<header>q3listbox.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

63
forms/linboInfoBrowser.ui Normal file
View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>linboInfoBrowser</class>
<widget class="QDialog" name="linboInfoBrowser">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>362</width>
<height>292</height>
</rect>
</property>
<property name="windowTitle">
<string>Image Info</string>
</property>
<widget class="Q3TextEdit" name="editor">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>340</width>
<height>230</height>
</rect>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
<widget class="QPushButton" name="saveButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>120</x>
<y>250</y>
<width>121</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Speichern</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<customwidgets>
<customwidget>
<class>Q3Frame</class>
<extends>QFrame</extends>
<header>Qt3Support/Q3Frame</header>
<container>1</container>
</customwidget>
<customwidget>
<class>Q3TextEdit</class>
<extends>Q3Frame</extends>
<header>q3textedit.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

68
forms/linboInputBox.ui Normal file
View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0" stdsetdef="1">
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>linboInputBox</class>
<widget class="QDialog" name="linboInputBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>202</width>
<height>85</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="cursor">
<cursor>0</cursor>
</property>
<property name="windowTitle">
<string>Eingabe</string>
</property>
<widget class="QLabel" name="inputLabel">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>180</width>
<height>30</height>
</rect>
</property>
<property name="text">
<string>Dateinamen eingeben</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="input">
<property name="geometry">
<rect>
<x>20</x>
<y>40</y>
<width>160</width>
<height>30</height>
</rect>
</property>
<property name="echoMode">
<enum>QLineEdit::Normal</enum>
</property>
<property name="alignment">
<set>Qt::AlignHCenter</set>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
</ui>

116
forms/linboMovie.ui Normal file
View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0" stdsetdef="1">
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>linboMovie</class>
<widget class="QDialog" name="linboMovie">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>132</width>
<height>155</height>
</rect>
</property>
<property name="palette">
<palette>
<active>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
</active>
<inactive>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
</inactive>
<disabled>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
<color/>
</disabled>
</palette>
</property>
<property name="windowTitle">
<string>Root </string>
</property>
<widget class="QLabel" name="pictureLabel">
<property name="geometry">
<rect>
<x>40</x>
<y>0</y>
<width>80</width>
<height>80</height>
</rect>
</property>
<property name="pixmap">
<pixmap>image0</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="logoutButton">
<property name="geometry">
<rect>
<x>20</x>
<y>110</y>
<width>91</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Logout</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<images>
<image name="image0">
<data format="PNG" length="1281">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000004c8494441545885ed954f681c551cc73f2b7b780b7b7803a9cc941e764b846ea99009f410a1d0e4246b0f9ab487aef5d0ad22c6f6d4f650920a127331ae222417cd36a04d029aec41e9462a4dbcb47b2824424ba75071165a3a032ece1c16e71d169e8749d3269b68d3a007ed17e6f27ebfdf7cbfbf7fefc173fcdf91d88ef3c8e888b6d2166ec3c54a5b44c9082b6d71e2dd13dbfacf9378e1699c264b93bafff57ead94c2a93b646516d21086211353130821b4945217de2ae8ed0af84be573d3737a666a86c26081813706d6d9022fc0ab7b2814d5a52a95a90af9ce156c3b43ad9ea2e7d511067695400007ce9278f1e8a65c5b0a289e2c6af7becbfc37f31886f184258228c5f2dd655443e1353db21d592a0b15de7f50c2ea92202cf8c5812420051ccc41679ec4de8b6d7c9bb660e8e290be34752931fef1f40672801424c19216412b4020f01a1e7d87faa8ca3e68a9d82d63022a16f19b01cad934d13601fac690962ba3140e4bbd7f9fb53ef3476841a0028ca4411885a49229102032366e3d04e5414716a484308c6355f8f70274d9d4dc2b736eb087e90f5e01ffa3f599afea889a11a858884c49825680141261da082540296802a6800c60281092c2f1f6215d13a0cba626f4a1e983e3820a606902565e7b5c80085cdfc57de0e2873eaaa550288ca4814261edb228a96c9c6d73b5e4bb808c012a64667626b151c4e30a187d10020d001feed7e273bf0ab56100023f200a23423f0405412bc010062229b0a485d7f458bc2998b8459c88f241e64181e7e7982be5f5ccec4ca24d802e9b1acf817d79e8b001135a80f063afe6285e7d9e5029fcd087643c0356da2222429a12d777a92e5419ff6a9c899fc0f589dba40258b883653a0c1cef45ff3ab249057c052d0f420fac2ce4b29036c120dee31650af81524811f7dc92164133000595850ae54fcb54bead60c92cd74b45cedd3409ea10fc5863ff581d6e56c15f6adb86b572e80b6892ab647b00b96a48010144f4e0bc348e73df41f90ab7e11234029c7b0ebeefe3d65dae5fbd8e9176c82e0d835927752a1ec8e86a0fdc72e3e1b47324f2b544bb80e5318d0af1be2c61752848137f2d092d98be1d32ba6263a6257ed3276a45a8a64229c595992b2040ca2c59b1486ae104e4565b200131046a115c97c4297fdd0c24d794749f4fe8b2a9f7ce425680dd25b0930ad50a719282e9c122f9d227ecdebb7b2df8da77d7e2cb282d200d962948fdbc5ae2807803641e4c8bf95983a3676b6d3761db41ee404edff9a21fc44abc0102708186cdfc9e2172b91c4a298410718602fcd0470ac962ad86ba3dc1f01e073a4d78b91b84a43c7583e1af15beefb7f125371ef41eea05b902a10dc900c2781dddfa0aa73f3b4d3693c53e6863991606066ec3c56b78b8f75c9cbb0e2a0cc91e8337a5205a82b7bfafb27857d0ddd54df587ea46bacd21a5d40fab67b55ece6bbd98d77a02fdf0a458b73e8f9e6029a51662830d7446b276567ca7a8273f9f7cfaa7faf2c4659d91e8b9f319fd47b947ff7e06dddb656efbad07304d534b29b71f5b3c5ed400a6409b8267227f84b1d2d8b3c5e78fe477440c3074616867ff18fb706cdb25b4bb6c9de9ccec58fc1a264b937ab23ca9fb8ff56f29464aa9f347f25a08a187ceec30ebad30561ad38523852d45f41eeefd678837c3e07b836b647697fdef113fc77f0e7f0242792e69834158ac0000000049454e44ae426082</data>
</image>
</images>
</ui>

41
forms/linboMsg.ui Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0" stdsetdef="1">
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>linboMsg</class>
<widget class="QDialog" name="linboMsg">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>323</width>
<height>149</height>
</rect>
</property>
<property name="windowTitle">
<string>Mitteilung</string>
</property>
<widget class="QLabel" name="message">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>301</width>
<height>140</height>
</rect>
</property>
<property name="text">
<string>Ein Fehler trat auf. Bitte nehmen Sie diesen Fehler zur kenntnis.</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
</ui>

128
forms/linboMulticastBox.ui Normal file
View File

@ -0,0 +1,128 @@
<ui version="4.0" >
<class>linboMulticastBox</class>
<widget class="QDialog" name="linboMulticastBox" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>203</width>
<height>155</height>
</rect>
</property>
<property name="windowTitle" >
<string>Update Cache</string>
</property>
<widget class="Q3ButtonGroup" name="updateMethodGroup" >
<property name="geometry" >
<rect>
<x>10</x>
<y>10</y>
<width>180</width>
<height>81</height>
</rect>
</property>
<property name="title" >
<string>Auswahl</string>
</property>
<widget class="QRadioButton" name="rsyncButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>20</y>
<width>150</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Update mit Rsync</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
<widget class="QRadioButton" name="multicastButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>40</y>
<width>160</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Update mit Multicast</string>
</property>
</widget>
<widget class="QRadioButton" name="torrentButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>60</y>
<width>165</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Update mit Bittorrent</string>
</property>
</widget>
</widget>
<widget class="QPushButton" name="okButton" >
<property name="geometry" >
<rect>
<x>10</x>
<y>120</y>
<width>61</width>
<height>21</height>
</rect>
</property>
<property name="toolTip" >
<string>Aktualisiert den lokalen&lt;br>Cache mit der gewählten Methode</string>
</property>
<property name="text" >
<string>OK</string>
</property>
</widget>
<widget class="QPushButton" name="cancelButton" >
<property name="geometry" >
<rect>
<x>130</x>
<y>120</y>
<width>60</width>
<height>21</height>
</rect>
</property>
<property name="toolTip" >
<string>Abbrechen ohne Cache-Aktualisierung</string>
</property>
<property name="text" >
<string>Abbruch</string>
</property>
</widget>
<widget class="QCheckBox" name="checkFormat" >
<property name="geometry" >
<rect>
<x>10</x>
<y>100</y>
<width>161</width>
<height>19</height>
</rect>
</property>
<property name="text" >
<string>Cache Partition formatieren</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<customwidgets>
<customwidget>
<class>Q3ButtonGroup</class>
<extends>Q3GroupBox</extends>
<header>Qt3Support/Q3ButtonGroup</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

68
forms/linboPasswordBox.ui Normal file
View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0" stdsetdef="1">
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>linboPasswordBox</class>
<widget class="QDialog" name="linboPasswordBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>190</width>
<height>85</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="cursor">
<cursor>0</cursor>
</property>
<property name="windowTitle">
<string>Sicherheit</string>
</property>
<widget class="QLabel" name="passwordLabel">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>172</width>
<height>30</height>
</rect>
</property>
<property name="text">
<string>Bitte Passwort eingeben</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="passwordInput">
<property name="geometry">
<rect>
<x>15</x>
<y>40</y>
<width>160</width>
<height>30</height>
</rect>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
<property name="alignment">
<set>Qt::AlignHCenter</set>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
</ui>

93
forms/linboProgress.ui Normal file
View File

@ -0,0 +1,93 @@
<ui version="4.0" >
<class>linboProgress</class>
<widget class="QDialog" name="linboProgress" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>472</width>
<height>125</height>
</rect>
</property>
<property name="cursor" >
<cursorShape>WaitCursor</cursorShape>
</property>
<property name="windowTitle" >
<string>Warten...</string>
</property>
<widget class="QLabel" name="progressLabel" >
<property name="geometry" >
<rect>
<x>20</x>
<y>10</y>
<width>430</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Bitte Warten...</string>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="cancelButton" >
<property name="geometry" >
<rect>
<x>190</x>
<y>90</y>
<width>100</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>Abbruch</string>
</property>
</widget>
<widget class="QProgressBar" name="progressBar" >
<property name="geometry" >
<rect>
<x>10</x>
<y>40</y>
<width>451</width>
<height>23</height>
</rect>
</property>
<property name="value" >
<number>0</number>
</property>
<property name="textVisible" >
<bool>false</bool>
</property>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="invertedAppearance" >
<bool>false</bool>
</property>
</widget>
<widget class="QLabel" name="processTime" >
<property name="geometry" >
<rect>
<x>190</x>
<y>70</y>
<width>101</width>
<height>20</height>
</rect>
</property>
<property name="text" >
<string>00:00</string>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<resources/>
<connections/>
</ui>

165
forms/linboRegisterBox.ui Normal file
View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>linboRegisterBox</class>
<widget class="QDialog" name="linboRegisterBox">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>282</width>
<height>412</height>
</rect>
</property>
<property name="windowTitle">
<string>Rechner registrieren</string>
</property>
<widget class="QLabel" name="textLabel2">
<property name="geometry">
<rect>
<x>20</x>
<y>10</y>
<width>171</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Raumbezeichnung</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="roomName">
<property name="geometry">
<rect>
<x>20</x>
<y>50</y>
<width>240</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="textLabel3">
<property name="geometry">
<rect>
<x>20</x>
<y>100</y>
<width>141</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Rechnername</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="clientName">
<property name="geometry">
<rect>
<x>20</x>
<y>140</y>
<width>241</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="textLabel3_2">
<property name="geometry">
<rect>
<x>20</x>
<y>190</y>
<width>141</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>IP-Adresse</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="ipAddress">
<property name="geometry">
<rect>
<x>20</x>
<y>230</y>
<width>241</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="textLabel3_2_2">
<property name="geometry">
<rect>
<x>20</x>
<y>280</y>
<width>141</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Rechnergruppe</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QLineEdit" name="clientGroup">
<property name="geometry">
<rect>
<x>20</x>
<y>320</y>
<width>241</width>
<height>31</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="registerButton">
<property name="geometry">
<rect>
<x>20</x>
<y>370</y>
<width>121</width>
<height>31</height>
</rect>
</property>
<property name="toolTip">
<string>Lädt die Rechnerinformationen auf den Server hoch</string>
</property>
<property name="text">
<string>Registrieren</string>
</property>
</widget>
<widget class="QPushButton" name="cancelButton">
<property name="geometry">
<rect>
<x>170</x>
<y>370</y>
<width>91</width>
<height>31</height>
</rect>
</property>
<property name="toolTip">
<string>Abbrechen ohne Rechnerregistrierung</string>
</property>
<property name="text">
<string>Abbruch</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<tabstops>
<tabstop>roomName</tabstop>
<tabstop>clientName</tabstop>
<tabstop>ipAddress</tabstop>
<tabstop>clientGroup</tabstop>
<tabstop>registerButton</tabstop>
<tabstop>cancelButton</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

69
forms/linboYesNo.ui Normal file
View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>linboYesNo</class>
<widget class="QDialog" name="linboYesNo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>380</width>
<height>113</height>
</rect>
</property>
<property name="windowTitle">
<string>Frage</string>
</property>
<widget class="QPushButton" name="NoButton">
<property name="geometry">
<rect>
<x>250</x>
<y>70</y>
<width>81</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Nein</string>
</property>
</widget>
<widget class="QLabel" name="question">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>370</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font/>
</property>
<property name="text">
<string>Frage</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
<widget class="QPushButton" name="YesButton">
<property name="geometry">
<rect>
<x>50</x>
<y>70</y>
<width>81</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Ja</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,158 @@
/* builds the class representing the LINBO configuration
Copyright (C) 2007 Klaus Knopper <knopper@knopper.net>
Copyright (C) 2008 Martin Oehler <oehler@knopper.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef IMAGE_DESCRIPTION_HH
#define IMAGE_DESCRIPTION_HH
#include <qstring.h>
#include <vector>
#include <iostream>
using namespace std;
class globals {
private:
QString server, cache, hostgroup, downloadtype, backgroundfontcolor, consolefontcolorstdout, consolefontcolorstderr;
unsigned int roottimeout;
bool autopartition, autoinitcache, autoformat;
public:
globals();
~globals();
const QString& get_server() const;
const QString& get_cache() const;
const QString& get_hostgroup() const;
const unsigned int& get_roottimeout() const;
const bool& get_autopartition();
const bool& get_autoinitcache();
const QString& get_backgroundfontcolor();
const QString& get_consolefontcolorstdout();
const QString& get_consolefontcolorstderr();
const QString& get_downloadtype();
const bool& get_autoformat();
void set_server( const QString& new_server );
void set_cache( const QString& new_cache );
void set_hostgroup( const QString& new_hostgroup );
void set_roottimeout( const unsigned int& new_roottimeout );
void set_autopartition( const bool& new_autopartition );
void set_autoinitcache( const bool& new_autoinitcache );
void set_backgroundfontcolor( const QString& new_backgroundfontcolor );
void set_consolefontcolorstdout( const QString& new_consolefontcolorstdout );
void set_consolefontcolorstderr( const QString& new_consolefontcolorstderr );
void set_downloadtype( const QString& new_downloadtype );
void set_autoformat( const bool& new_autoformat );
};
class diskpartition {
private:
QString dev, id, fstype;
unsigned int size;
bool bootable;
public:
diskpartition();
~diskpartition();
const QString& get_dev() const;
const QString& get_id() const;
const QString& get_fstype() const;
const unsigned int& get_size() const;
const bool& get_bootable() const;
void set_dev( const QString& new_dev );
void set_id( const QString& new_id );
void set_fstype( const QString& new_fstype );
void set_size( const unsigned int& new_size );
void set_bootable( const bool& new_bootable );
};
class image_item {
private:
QString version,
description,
image,
kernel,
initrd,
append,
defaultaction;
int autostarttimeout;
bool syncbutton, startbutton, newbutton, autostart,
hidden; // show OS tab or not
public:
image_item();
~image_item();
void set_version( const QString& new_version );
void set_description ( const QString& new_description );
void set_image( const QString& new_imagename);
void set_kernel( const QString& new_kernel );
void set_initrd( const QString& new_initrd );
void set_append( const QString& new_append );
void set_syncbutton ( const bool& new_syncbutton );
void set_startbutton( const bool& new_startbutton);
void set_newbutton ( const bool& new_newbutton );
void set_autostart ( const bool& new_autostart );
void set_autostarttimeout ( const int& new_autostarttimeout );
void set_defaultaction ( const QString& new_defaultaction );
void set_hidden ( const bool& new_hidden );
const QString& get_version() const;
const QString& get_description() const;
const QString& get_image() const;
const QString& get_kernel() const;
const QString& get_initrd() const;
const QString& get_append() const;
const bool& get_syncbutton() const;
const bool& get_startbutton() const;
const bool& get_newbutton() const;
const bool& get_autostart() const;
const int& get_autostarttimeout() const;
const QString& get_defaultaction() const;
const bool& get_hidden() const;
};
class os_item {
private:
QString name, // OS Name
baseimage, // Base Image
iconname, // Thumbnail for Image
boot, // Boot partition
root; // Root partition
public:
os_item();
~os_item();
void set_name( const QString& new_name );
void set_baseimage( const QString& new_baseimage );
void set_iconname( const QString& new_iconname );
void set_boot( const QString& new_boot );
void set_root( const QString& new_root );
const QString& get_name() const;
const QString& get_baseimage() const;
const QString& get_iconname() const;
const QString& get_boot() const;
const QString& get_root() const;
unsigned int find_current_image() const;
void add_history_entry( image_item& ie );
vector< image_item > image_history; // One or more images
};
#endif

View File

@ -0,0 +1,57 @@
#ifndef LINBOCONSOLEIMPL_HH
#define LINBOCONSOLEIMPL_HH
#include "ui_linboConsole.h"
#include <qobject.h>
#include <qlabel.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QProcess>
#include <qstring.h>
#include <QTextEdit>
#include <QTextBrowser>
#include <qlineedit.h>
#include "linboDialog.hh"
#include "linboLogConsole.hh"
using namespace Ui;
class linboConsoleImpl : public QWidget, public Ui::linboConsole, public linboDialog
{
Q_OBJECT
private:
QProcess* mysh;
QStringList myCommand;
QString line;
QWidget *myMainApp, *myParent;
QTextEdit *Console;
linboLogConsole* logConsole;
public:
linboConsoleImpl( QWidget* parent = 0 );
~linboConsoleImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
virtual void setCommand(const QStringList& arglist);
virtual QStringList getCommand();
virtual void setMainApp( QWidget* newMainApp );
public slots:
virtual void postcmd();
virtual void precmd();
void readFromStderr();
void readFromStdout();
void processFinished( int retval,
QProcess::ExitStatus status);
void showOutput();
void execute();
};
#endif

View File

@ -0,0 +1,50 @@
#ifndef LINBOCOUNTERIMPL_HH
#define LINBOCOUNTERIMPL_HH
#include "ui_linboCounter.h"
#include <qobject.h>
#include <qlabel.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <q3process.h>
#include <qstring.h>
#include <QTextEdit>
#include "linboDialog.hh"
class linboCounterImpl : public QWidget, public Ui::linboCounter, public linboDialog
{
Q_OBJECT
private:
QTextEdit *Console;
Q3Process* myProcess;
QString line;
QWidget *myMainApp,*myParent;
QStringList myCommand;
void closeEvent(QCloseEvent *event);
public:
linboCounterImpl( QWidget* parent = 0 );
~linboCounterImpl();
virtual void precmd();
virtual void postcmd();
virtual void setCommand(const QStringList& arglist);
virtual QStringList getCommand();
// not needed here
virtual void setMainApp( QWidget* newMainApp );
void setTextBrowser( QTextEdit* newBrowser );
public slots:
void readFromStderr();
void readFromStdout();
void processFinished( int retval,
QProcess::ExitStatus status);
};
#endif

View File

@ -0,0 +1,23 @@
#ifndef LINBODIALOG_HH
#define LINBODIALOG_HH
#include <qstringlist.h>
#include <qwidget.h>
#include <QProcess>
class linboDialog {
public:
linboDialog() {};
virtual ~linboDialog() {};
virtual void precmd() = 0;
virtual void postcmd() = 0;
virtual void setCommand(const QStringList& ) = 0;
virtual QStringList getCommand() = 0;
virtual void setMainApp( QWidget* ) = 0;
virtual void readFromStdout() = 0;
virtual void readFromStderr() = 0;
virtual void processFinished( int, QProcess::ExitStatus) = 0;
};
#endif

View File

@ -0,0 +1,104 @@
/* class building the LINBO GUI
Copyright (C) 2007 Martin Oehler <oehler@knopper.net>
Copyright (C) 2007 Klaus Knopper <knopper@knopper.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef LINBOGUIIMPL_HH
#define LINBOGUIIMPL_HH
#include "ui_linboGUI.h"
#include "image_description.hh"
#include <qstring.h>
#include <QProcess>
#include <QTimer>
#include <QTextEdit>
#include <qdatetime.h>
#include <qtimer.h>
#include <vector>
#include <fstream>
#include <istream>
#include "linboPushButton.hh"
#include "linboMsgImpl.hh"
#include "linboCounterImpl.hh"
#include "linboPasswordBoxImpl.hh"
#include "linboLogConsole.hh"
// #include "linboProgressImpl.hh"
using namespace std;
class linbopushbutton;
class linboMsgImpl;
class linboPasswordBoxImpl;
// class linboProgressImpl;
class linboGUIImpl : public QDialog, public Ui::linboGUI
{
Q_OBJECT
public slots:
void readFromStdout();
void readFromStderr();
void enableButtons();
void resetButtons();
void disableButtons();
void restoreButtonsState();
void tabWatcher( QWidget* );
void processTimeout();
void executeAutostart();
void shutdown();
void reboot();
void autostartTimeoutSlot();
private:
linboCounterImpl* myCounter;
QTimer* myTimer;
QTimer* myAutostartTimer;
linboMsgImpl *waiting;
QString linestdout, linestderr;
QString logfilepath, fonttemplate;
bool root, withicons, outputvisible;
QProcess* process;
QDialog* myQPasswordBox;
linboPasswordBoxImpl* myLPasswordBox;
linbopushbutton *autostart, *autopartition, *autoinitcache;
int preTab, autostarttimeout;
linboLogConsole* logConsole;
vector<int> buttons_config;
vector<bool> buttons_config_save;
public:
vector<linbopushbutton*> p_buttons;
// 0 = disabled
// 1 = enabled
// 2 = admin button
globals config;
vector<os_item> elements;
vector<diskpartition> partitions;
linboGUIImpl(QWidget* parent = nullptr);
~linboGUIImpl();
bool isRoot() const;
void showImagingTab();
void log( const QString& data );
};
#endif

View File

@ -0,0 +1,71 @@
#ifndef LINBOIMAGESELECTORIMPL_HH
#define LINBOIMAGESELECTORIMPL_HH
#include "ui_linboImageSelector.h"
#include "linboProgressImpl.hh"
#include <qobject.h>
#include "linboGUIImpl.hh"
#include <qlabel.h>
#include <qlineedit.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QTextEdit>
#include <qstringlist.h>
#include <qstring.h>
#include <QProcess>
#include <QFile>
#include "linboDialog.hh"
#include "linboLogConsole.hh"
class linboGuiImpl;
class linboImageSelectorImpl : public QWidget, public Ui::linboImageSelector, public linboDialog
{
Q_OBJECT
private:
QString line, myCache, mySavePath, info, baseImage;
QStringList myCommand, mySaveCommand, myLoadCommand;
QProcess *process;
QStringList arguments;
QFile *file;
QWidget *myMainApp,*myParent;
linboProgressImpl *progwindow;
QTextEdit *Console;
bool upload;
linboGUIImpl* app;
linboDialog* neighbourDialog;
linboLogConsole* logConsole;
public slots:
void readFromStdout();
void readFromStderr();
void processFinished( int retval,
QProcess::ExitStatus status);
virtual void precmd();
virtual void postcmd();
void postcmd2();
void selectionWatcher();
public:
linboImageSelectorImpl( QWidget* parent = 0);
~linboImageSelectorImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
virtual void setCommand(const QStringList& arglist);
void setLoadCommand(const QStringList& arglist);
void setSaveCommand(const QStringList& arglist);
void setCache( const QString& newCache );
void setBaseImage( const QString& newBase );
void writeInfo();
virtual QStringList getCommand();
void setMainApp( QWidget* newMainApp );
};
#endif

View File

@ -0,0 +1,57 @@
#ifndef LINBOIMAGEUPLOADIMPL_HH
#define LINBOIMAGEUPLOADIMPL_HH
#include "ui_linboImageUpload.h"
#include <qobject.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QTextEdit>
#include <qstringlist.h>
#include <qstring.h>
#include <QProcess>
#include "linboGUIImpl.hh"
#include "linboProgressImpl.hh"
#include "linboDialog.hh"
#include "linboLogConsole.hh"
class linboImageUploadImpl : public QWidget, public Ui::linboImageUpload, public linboDialog
{
Q_OBJECT
private:
QString line;
QStringList arguments;
QProcess *process;
linboGUIImpl* app;
QWidget *myMainApp,*myParent;
QTextEdit *Console;
linboProgressImpl *progwindow;
linboLogConsole* logConsole;
public slots:
void readFromStdout();
void readFromStderr();
virtual void precmd();
virtual void postcmd();
void processFinished( int retval,
QProcess::ExitStatus status);
public:
linboImageUploadImpl( QWidget* parent = 0);
~linboImageUploadImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
virtual void setCommand(const QStringList& arglist);
virtual QStringList getCommand();
virtual void setMainApp( QWidget* newMainApp );
};
#endif

View File

@ -0,0 +1,70 @@
#ifndef LINBOINFOBROWSERIMPL_HH
#define LINBOINFOBROWSERIMPL_HH
#include "ui_linboInfoBrowser.h"
#include <qobject.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QTextEdit>
#include <qstringlist.h>
#include <qstring.h>
#include <QProcess>
#include <qfile.h>
#include "linboDialog.hh"
#include "linboGUIImpl.hh"
#include "linboLogConsole.hh"
class linboInfoBrowserImpl : public QWidget, public Ui::linboInfoBrowser, public linboDialog
{
Q_OBJECT
private:
QString line;
QWidget *myMainApp,*myParent;
linboGUIImpl *app;
QProcess* process;
QStringList myUploadCommand, myLoadCommand, mySaveCommand, arguments;
QString filepath;
QFile *file;
QTextEdit *Console;
linboLogConsole* logConsole;
public slots:
void readFromStdout();
void readFromStderr();
void processFinished( int retval,
QProcess::ExitStatus status);
virtual void precmd();
virtual void postcmd();
public:
linboInfoBrowserImpl( QWidget* parent );
~linboInfoBrowserImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
void setMainApp( QWidget* newMainApp );
void setCommand(const QStringList& );
void setLoadCommand(const QStringList& );
void setSaveCommand(const QStringList& );
void setUploadCommand(const QStringList& );
QStringList getCommand();
void setFilePath( const QString& newFilepath );
};
#endif

View File

@ -0,0 +1,59 @@
#ifndef LINBOINPUTBOXIMPL_HH
#define LINBOINPUTBOXIMPL_HH
#include "ui_linboInputBox.h"
#include <qobject.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QTextEdit>
#include <qstringlist.h>
#include <qstring.h>
#include <QProcess>
#include "linboGUIImpl.hh"
#include "linboProgressImpl.hh"
#include "linboDialog.hh"
#include "linboLogConsole.hh"
class linboInputBoxImpl : public QWidget, public Ui::linboInputBox, public linboDialog
{
Q_OBJECT
private:
QString line;
QStringList myCommand;
QStringList arguments;
linboProgressImpl *progwindow;
QProcess *process;
linboGUIImpl* app;
QWidget *myMainApp,*myParent;
QTextEdit *Console;
linboLogConsole *logConsole;
public slots:
void readFromStdout();
void readFromStderr();
void processFinished( int retval,
QProcess::ExitStatus status);
virtual void precmd();
virtual void postcmd();
public:
linboInputBoxImpl( QWidget* parent = 0);
~linboInputBoxImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
virtual void setCommand(const QStringList& arglist);
virtual QStringList getCommand();
void setMainApp( QWidget* newMainApp );
};
#endif

View File

@ -0,0 +1,60 @@
/* holds the environmental configuration of our console
Copyright (C) 2010 Martin Oehler <oehler@knopper.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef LINBOLOGCONSOLE_HH
#define LINBOLOGCONSOLE_HH
#include <qstring.h>
#include <qwidget.h>
#include <QTextEdit>
#include <QByteArray>
#include <QColor>
#include <qstringlist.h>
#include "linboGUIImpl.hh"
class linboLogConsole
{
private:
QColor consolefontcolorstdout, consolefontcolorstderr;
QTextEdit* Console;
public:
linboLogConsole( QWidget* parent = 0,
const char* name = 0 );
~linboLogConsole();
// TODO: error handling
void setLinboLogConsole( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* new_console );
void writeStdOut( const QByteArray& stdoutdata );
void writeStdOut( const QString& stdoutdata );
void writeStdErr( const QByteArray& stderrdata );
void writeStdErr( const QString& stderrdata );
void writeResult( const int& processRetval,
QProcess::ExitStatus status,
const int& errorstatus );
};
#endif

View File

@ -0,0 +1,49 @@
/****************************************************************************
** Form interface generated from reading ui file 'linboMovie.ui'
**
** Created: Sa Jul 11 23:31:29 2009
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
#ifndef LINBOMOVIE_H
#define LINBOMOVIE_H
#include <qvariant.h>
#include <qpixmap.h>
#include <qdialog.h>
//Added by qt3to4:
#include <Q3GridLayout>
#include <QLabel>
#include <Q3HBoxLayout>
#include <Q3VBoxLayout>
class Q3VBoxLayout;
class Q3HBoxLayout;
class Q3GridLayout;
class QSpacerItem;
class QLabel;
class QPushButton;
class linboMovie : public QDialog
{
Q_OBJECT
public:
linboMovie( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 );
~linboMovie();
QLabel* pictureLabel;
QPushButton* logoutButton;
protected:
protected slots:
virtual void languageChange();
private:
QPixmap image0;
};
#endif // LINBOMOVIE_H

View File

@ -0,0 +1,48 @@
#ifndef LINBOMSGIMPL_HH
#define LINBOMSGIMPL_HH
#include "ui_linboMsg.h"
#include <qobject.h>
#include <qlabel.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QProcess>
#include <qstring.h>
#include "linboDialog.hh"
class linboMsgImpl : public QWidget, public Ui::linboMsg, public linboDialog
{
Q_OBJECT
private:
QProcess* process;
QStringList arguments;
QString line;
QWidget *myMainApp,*myParent;
public:
linboMsgImpl( QWidget* parent = 0 );
~linboMsgImpl();
virtual void precmd();
virtual void postcmd();
virtual void setCommand(const QStringList& arglist);
virtual QStringList getCommand();
// not needed here
virtual void setMainApp( QWidget* newMainApp );
void execute();
public slots:
void readFromStderr();
void readFromStdout();
void processFinished( int retval,
QProcess::ExitStatus status);
};
#endif

View File

@ -0,0 +1,63 @@
#ifndef LINBOMULTICASTBOXIMPL_HH
#define LINBOMULTICASTBOXIMPL_HH
#include "ui_linboMulticastBox.h"
#include <qobject.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QTextEdit>
#include <q3buttongroup.h>
#include <qstringlist.h>
#include <qstring.h>
#include <QProcess>
#include "linboGUIImpl.hh"
#include "linboDialog.hh"
#include "linboLogConsole.hh"
using namespace Ui;
class linboMulticastBoxImpl : public QWidget, public Ui::linboMulticastBox, public linboDialog
{
Q_OBJECT
private:
linboGUIImpl* app;
QString line;
linboProgressImpl *progwindow;
QStringList arguments, myCommand, myRsyncCommand, myMulticastCommand, myBittorrentCommand;
QProcess *process;
QWidget *myMainApp,*myParent;
QTextEdit *Console;
linboLogConsole *logConsole;
public slots:
void processFinished( int retval,
QProcess::ExitStatus status);
void readFromStderr();
void readFromStdout();
virtual void precmd();
virtual void postcmd();
public:
linboMulticastBoxImpl( QWidget* parent = 0 );
~linboMulticastBoxImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
virtual void setCommand(const QStringList& arglist);
virtual QStringList getCommand();
virtual void setRsyncCommand(const QStringList& arglist);
virtual void setMulticastCommand(const QStringList& arglist);
virtual void setBittorrentCommand(const QStringList& arglist);
virtual void setMainApp( QWidget* newMainApp );
};
#endif

View File

@ -0,0 +1,68 @@
#ifndef LINBOPASSWORDBOXIMPL_HH
#define LINBOPASSWORDBOXIMPL_HH
#include "ui_linboPasswordBox.h"
#include <qobject.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include "linboDialog.hh"
#include "linboGUIImpl.hh"
#include "ui_linboGUI.h"
#include <QProcess>
#include <qstringlist.h>
#include <QTextEdit>
#include <qtimer.h>
#include "linboCounterImpl.hh"
#include "linboLogConsole.hh"
using namespace Ui;
class linboGUIImpl;
class linboLogConsole;
class linboPasswordBoxImpl : public QWidget, public Ui::linboPasswordBox, public linboDialog
{
Q_OBJECT
private:
QWidget* myMainApp,*myParent;
linboGUIImpl* app;
QStringList myCommand, arguments;
QProcess* process;
QString line;
QTextEdit *Console;
linboCounterImpl* myCounter;
QTimer* myTimer;
int currentTimeout;
linboLogConsole *logConsole;
public:
linboPasswordBoxImpl( QDialog* parent = 0 );
~linboPasswordBoxImpl();
virtual void precmd();
virtual void setMainApp( QWidget* newMainApp );
virtual void setCommand(const QStringList& arglist);
virtual QStringList getCommand();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
public slots:
virtual void postcmd();
void readFromStdout();
void readFromStderr();
void processTimeout();
void processFinished( int retval,
QProcess::ExitStatus status);
};
#endif

View File

@ -0,0 +1,49 @@
#ifndef LINBOPROGRESSIMPL_HH
#define LINBOPROGRESSIMPL_HH
#include "ui_linboProgress.h"
// #include "linboProgress.hh"
#include <qobject.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QProcess>
#include <QTimer>
#include <qpushbutton.h>
#include <QTextEdit>
#include "linboLogConsole.hh"
class linboLogConsole;
class linboProgressImpl : public QWidget, public Ui::linboProgress
{
Q_OBJECT
private:
QProcess *myProcess;
QTextEdit* Console;
QWidget *myParent;
QTimer* myTimer;
int time, minutes,seconds;
QString minutestr,secondstr;
linboLogConsole *logConsole;
public:
linboProgressImpl( QWidget* parent = 0 );
~linboProgressImpl();
void setProcess( QProcess* newProcess );
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
public slots:
void killLinboCmd();
void startTimer();
void processTimer();
void processFinished( int retval,
QProcess::ExitStatus status);
};
#endif

View File

@ -0,0 +1,84 @@
#ifndef LINBOPUSHBUTTON_HH
#define LINBOPUSHBUTTON_HH
#include <qpushbutton.h>
#include <qstring.h>
#include <qwidget.h>
#include <qprocess.h>
#include <QTextEdit>
#include <qstringlist.h>
#include <qtimer.h>
#include <qdialog.h>
#include "linboProgressImpl.hh"
#include "linboYesNoImpl.hh"
#include "linboPasswordBoxImpl.hh"
#include "linboMsgImpl.hh"
#include "ui_linboInfoBrowser.h"
#include "linboInputBoxImpl.hh"
#include "linboDialog.hh"
#include "linboGUIImpl.hh"
#include "linboLogConsole.hh"
class linboGUIImpl;
class linboLogConsole;
class linbopushbutton : public QPushButton
{
Q_OBJECT
private:
QString myCommand, line;
QStringList arguments;
QTextEdit* Console;
QProcess *process;
QTimer *timer;
QDialog* myQDialog,*myParent;
linboDialog* myLinboDialog;
QWidget *myMainApp;
// QDialog *myMainApp;
linboGUIImpl* app;
bool progress;
linbopushbutton* neighbour;
linboProgressImpl *progwindow;
linboLogConsole *logConsole;
public:
linbopushbutton( QWidget* parent = 0,
const char* name = 0 );
~linbopushbutton();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
// void setMainApp( QDialog* newMainApp );
void setMainApp( QWidget* newMainApp );
void setLinboDialog( linboDialog* newDialog );
linboDialog* getLinboDialog();
void setQDialog( QDialog* newDialog );
QDialog* getQDialog();
void setCommand(const QStringList& arglist);
QStringList getCommand();
void setProgress( const bool& newProgress );
void setNeighbour( linbopushbutton* newNeighbour );
linbopushbutton* getNeighbour();
signals:
void Clicked( const QStringList& command );
// other buttons may click too ;-)
public slots:
void lclicked();
private slots:
void readFromStdout();
void readFromStderr();
void processFinished( int retval,
QProcess::ExitStatus status);
};
#endif

View File

@ -0,0 +1,63 @@
#ifndef LINBOREGISTERBOXIMPL_HH
#define LINBOREGISTERBOXIMPL_HH
#include "ui_linboRegisterBox.h"
#include "linboGUIImpl.hh"
#include <qobject.h>
#include <qlabel.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <QProcess>
#include <qstring.h>
#include <QTextEdit>
#include <Qt3Support/Q3TextBrowser>
#include "linboProgressImpl.hh"
#include "linboDialog.hh"
#include "linboLogConsole.hh"
class linboGUIImpl;
class linboRegisterBoxImpl : public QWidget, public Ui::linboRegisterBox, public linboDialog
{
Q_OBJECT
private:
QProcess* process;
QStringList myCommand;
QStringList myPreCommand;
linboProgressImpl *progwindow;
linboGUIImpl *app;
QString line;
QWidget *myMainApp,*myParent;
QTextEdit *Console;
linboLogConsole *logConsole;
public:
linboRegisterBoxImpl( QWidget* parent = 0 );
~linboRegisterBoxImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
virtual void setCommand(const QStringList& arglist);
virtual QStringList getPreCommand();
virtual void setPreCommand(const QStringList& arglist);
virtual QStringList getCommand();
// not needed here
virtual void setMainApp( QWidget* newMainApp );
void execute();
public slots:
virtual void postcmd();
virtual void precmd();
void readFromStderr();
void readFromStdout();
void processFinished( int retval,
QProcess::ExitStatus status );
};
#endif

View File

@ -0,0 +1,67 @@
#ifndef LINBOYESNOIMPL_HH
#define LINBOYESNOIMPL_HH
#include "ui_linboYesNo.h"
#include <qobject.h>
#include <qlabel.h>
#include <qlineedit.h>
#include <qvariant.h>
#include <qwidget.h>
#include <qdialog.h>
#include <qpushbutton.h>
#include <Q3TextEdit>
#include <qstringlist.h>
#include <QProcess>
#include <iostream>
#include "linboGUIImpl.hh"
#include "linboProgressImpl.hh"
#include "linboDialog.hh"
#include "linboLogConsole.hh"
class linboGUIImpl;
class linboLogConsole;
class linboProgressImpl;
class linboYesNoImpl : public QWidget, public Ui::linboYesNo, public linboDialog
{
Q_OBJECT
private:
QString line;
QStringList myCommand, arguments;
QProcess *process;
QWidget *myMainApp,*myParent;
QTextEdit *Console;
linboGUIImpl* app;
linboProgressImpl *progwindow;
linboLogConsole *logConsole;
public slots:
virtual void precmd();
virtual void postcmd();
void readFromStdout();
void readFromStderr();
void processFinished( int retval,
QProcess::ExitStatus status );
protected slots:
virtual void languageChange() {};
public:
linboYesNoImpl( QWidget* parent = 0 );
~linboYesNoImpl();
void setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser );
QStringList getCommand();
void setCommand(const QStringList& arglist);
void setMainApp( QWidget* newMainApp );
};
#endif

22
headers/linbogui.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef LINBOGUI_H
#define LINBOGUI_H
#include <QDialog>
#include <QObject>
#include <QApplication>
#include <QDesktopWidget>
#include <QBoxLayout>
#include "linboGUIImpl.hh"
#include "linbostartpage.h"
class linboGui : public QDialog
{
Q_OBJECT
public:
linboGui();
void done(int r) override;
};
#endif // LINBOGUI_H

View File

@ -0,0 +1,14 @@
#ifndef LINBOOSSELECTBUTTON_H
#define LINBOOSSELECTBUTTON_H
#include <QObject>
#include "qmodernpushbutton.h"
class LinboOsSelectButton : public QModernPushButton
{
Q_OBJECT
public:
LinboOsSelectButton(QString icon, QWidget* parent = nullptr);
};
#endif // LINBOOSSELECTBUTTON_H

19
headers/linbostartpage.h Normal file
View File

@ -0,0 +1,19 @@
#ifndef LINBOGUISTARTPAGE_H
#define LINBOGUISTARTPAGE_H
#include <QObject>
#include <QWidget>
#include "linboosselectbutton.h"
class linboStartPage : public QWidget
{
Q_OBJECT
public:
explicit linboStartPage(QWidget *parent = nullptr);
signals:
};
#endif // LINBOGUISTARTPAGE_H

View File

@ -0,0 +1,36 @@
#ifndef QMODERNPUSHBUTTON_H
#define QMODERNPUSHBUTTON_H
#include <QPushButton>
#include <QObject>
#include <QSvgWidget>
#include <QGraphicsOpacityEffect>
#include <QResizeEvent>
#include <QPropertyAnimation>
#include <QString>
#include <QDebug>
class QModernPushButton : public QPushButton
{
Q_OBJECT
public:
QModernPushButton(QString icon, QWidget* parent = nullptr);
protected:
void resizeEvent(QResizeEvent *event) override;
private:
QSvgWidget* svgWidget;
QSvgWidget* overlayNormalWidget;
QSvgWidget* overlayCheckedWidget;
QGraphicsOpacityEffect* overlayCheckedEffect;
private slots:
void handleToggled(bool checked);
QString generateStyleSheet();
};
#endif // QMODERNPUSHBUTTON_H

58
lib/fonts/fontdir Normal file
View File

@ -0,0 +1,58 @@
fixed 5x7.bdf BDF n 50 70
fixed 6x13.bdf BDF n 50 120
micro micro.bdf BDF n 50 40
helvetica helvB08.bdf BDF n 75 80
helvetica helvB10.bdf BDF n 75 100
helvetica helvB12.bdf BDF n 75 120
helvetica helvB14.bdf BDF n 75 140
helvetica helvB18.bdf BDF n 75 180
helvetica helvB24.bdf BDF n 75 240
helvetica helvBO08.bdf BDF y 75 80
helvetica helvBO10.bdf BDF y 75 100
helvetica helvBO12.bdf BDF y 75 120
helvetica helvBO14.bdf BDF y 75 140
helvetica helvBO18.bdf BDF y 75 180
helvetica helvBO24.bdf BDF y 75 240
helvetica helvO08.bdf BDF y 50 80
helvetica helvO10.bdf BDF y 50 100
helvetica helvO12.bdf BDF y 50 120
helvetica helvO14.bdf BDF y 50 140
helvetica helvO18.bdf BDF y 50 180
helvetica helvO24.bdf BDF y 50 240
helvetica helvR08.bdf BDF n 50 80
helvetica helvR10.bdf BDF n 50 100
helvetica helvR12.bdf BDF n 50 120
helvetica helvR14.bdf BDF n 50 140
helvetica helvR18.bdf BDF n 50 180
helvetica helvR24.bdf BDF n 50 240
# Unifont is available in source form from http://czyborra.com/unifont/
unifont unifont.bdf BDF n 50 160 u
babelfish babelfish.ttf FT n 50 0 s
smallsmooth verdana.ttf FT n 50 0 s 90
smoothtimes times.ttf FT n 50 0 s 100,160,170,220
smoothtimes timesbd.ttf FT n 75 0 sa 170,250,440
smoothtimes timesi.ttf FT y 50 0 sa
smoothtimes timesbi.ttf FT y 75 0 sa
utopia UTBI____.pfa FT y 75 0 s
utopia UTB_____.pfa FT n 75 0 s
utopia UTI_____.pfa FT y 50 0 s
utopia UTRG____.pfa FT n 50 0 s
courier c0419bt_.pfb FT n 50 0 s
courier c0582bt_.pfb FT y 50 0 s
courier c0583bt_.pfb FT n 75 0 s
courier c0611bt_.pfb FT y 75 0 s
charter c0632bt_.pfb FT n 75 0 s
charter c0633bt_.pfb FT y 75 0 s
charter c0648bt_.pfb FT n 50 0 s
charter c0649bt_.pfb FT y 50 0 s
courier cour.pfa FT n 50 0 s
courier courb.pfa FT n 75 0 s
courier courbi.pfa FT y 75 0 s
courier couri.pfa FT y 50 0 s
cursor cursor.pfa FT n 50 0 s
lucidux_mono lcdxmo.pfa FT y 50 0 s
lucidux_mono lcdxmr.pfa FT n 50 0 s
lucidux_serif lcdxro.pfa FT y 50 0 s
lucidux_serif lcdxrr.pfa FT n 50 0 s
lucidux_sans lcdxso.pfa FT y 50 0 s
lucidux_sans lcdxsr.pfa FT n 50 0 s

Binary file not shown.

82
linboGUI.pro Normal file
View File

@ -0,0 +1,82 @@
TARGET = linbo_gui
DEPENDPATH += .
INCLUDEPATH += .
CFLAGS += -DQWS -static
QT += \
qt3support \
widgets \
svg
QMAKE_POST_LINK=strip $(TARGET)
# deployment
target.path = /usr/bin
!isEmpty(target.path): INSTALLS += target
INCLUDEPATH += \
headers/ \
headers/legacy
# Input
HEADERS += \
headers/legacy/image_description.hh \
headers/legacy/linboConsoleImpl.hh \
headers/legacy/linboCounterImpl.hh \
headers/legacy/linboGUIImpl.hh \
headers/legacy/linboImageSelectorImpl.hh \
headers/legacy/linboImageUploadImpl.hh \
headers/legacy/linboInfoBrowserImpl.hh \
headers/legacy/linboInputBoxImpl.hh \
headers/legacy/linboMsgImpl.hh \
headers/legacy/linboMulticastBoxImpl.hh \
headers/legacy/linboPasswordBoxImpl.hh \
headers/legacy/linboProgressImpl.hh \
headers/legacy/linboPushButton.hh \
headers/legacy/linboLogConsole.hh \
headers/legacy/linboRegisterBoxImpl.hh \
headers/legacy/linboYesNoImpl.hh \
headers/linbogui.h \
headers/linboosselectbutton.h \
headers/linbostartpage.h \
headers/qmodernpushbutton.h
SOURCES += \
sources/legacy/image_description.cc \
sources/legacy/linboConsoleImpl.cc \
sources/legacy/linboCounterImpl.cc \
sources/legacy/linboGUIImpl.cc \
sources/legacy/linboImageSelectorImpl.cc \
sources/legacy/linboImageUploadImpl.cc \
sources/legacy/linboInfoBrowserImpl.cc \
sources/legacy/linboInputBoxImpl.cc \
sources/legacy/linboMsgImpl.cc \
sources/legacy/linboMulticastBoxImpl.cc \
sources/legacy/linboPasswordBoxImpl.cc \
sources/legacy/linboProgressImpl.cc \
sources/legacy/linboPushButton.cc \
sources/legacy/linboLogConsole.cc \
sources/legacy/linboRegisterBoxImpl.cc \
sources/legacy/linboYesNoImpl.cc \
sources/linbogui.cpp \
sources/linboosselectbutton.cpp \
sources/linbostartpage.cpp \
sources/main.cpp \
sources/qmodernpushbutton.cpp
FORMS += \
forms/linboConsole.ui \
forms/linboCounter.ui \
forms/linboGUI.ui \
forms/linboImageSelector.ui \
forms/linboImageUpload.ui \
forms/linboInfoBrowser.ui \
forms/linboInputBox.ui \
forms/linboMovie.ui \
forms/linboMsg.ui \
forms/linboMulticastBox.ui \
forms/linboPasswordBox.ui \
forms/linboProgress.ui \
forms/linboRegisterBox.ui \
forms/linboYesNo.ui
RESOURCES += \
resources/linbo.qrc

330
linboGUI.pro.user Normal file
View File

@ -0,0 +1,330 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.13.2, 2020-11-16T00:29:24. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{8b2b329f-2b96-47e0-8e3b-213b44b4afec}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
<value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">GenericLinuxOsType</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">LinboQt</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">LinboQt</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{65e6f253-3160-40c1-b9a5-c817f07ba31c}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="bool">true</value>
<value type="int" key="EnableQmlDebugging">2</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/dorian/Qt/builds/build-linboGUI-LinboQt-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/dorian/Qt/builds/build-linboGUI-LinboQt-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="int" key="QtQuickCompiler">2</value>
<value type="int" key="SeparateDebugInfo">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="bool">true</value>
<value type="int" key="EnableQmlDebugging">2</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/dorian/Qt/builds/build-linboGUI-LinboQt-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/dorian/Qt/builds/build-linboGUI-LinboQt-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">2</value>
<value type="int" key="SeparateDebugInfo">2</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteLinux.KillAppStep</value>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedLocalTimes"/>
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedRemoteTimes"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteLinux.RsyncDeployStep</value>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
<valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedLocalTimes"/>
<valuelist type="QVariantList" key="RemoteLinux.LastDeployedRemoteTimes"/>
<value type="QString" key="RemoteLinux.RsyncDeployStep.Flags">-av</value>
<value type="bool" key="RemoteLinux.RsyncDeployStep.IgnoreMissingFiles">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">DeployToGenericLinux</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
<valuelist type="QVariantList" key="Analyzer.Perf.Events">
<value type="QString">cpu-cycles</value>
</valuelist>
<valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
<value type="int" key="Analyzer.Perf.Frequency">250</value>
<valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
<value type="QString">-e</value>
<value type="QString">cpu-cycles</value>
<value type="QString">--call-graph</value>
<value type="QString">dwarf,4096</value>
<value type="QString">-F</value>
<value type="QString">250</value>
</valuelist>
<value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Perf.StackSize">4096</value>
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">1</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">linboGUI (on LinboTest)2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteLinuxRunConfiguration:/home/dorian/Documents/git/modern-linbo-gui/linboGUI.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/dorian/Documents/git/modern-linbo-gui/linboGUI.pro</value>
<value type="int" key="RemoteLinux.EnvironmentAspect.Version">1</value>
<value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value>
<value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value>
<value type="QString" key="RunConfiguration.Arguments"></value>
<value type="bool" key="RunConfiguration.Arguments.multi">false</value>
<value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseX11Forwarding">false</value>
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
<value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

15658
linbogui.files Normal file

File diff suppressed because it is too large Load Diff

741
linbogui.includes Normal file
View File

@ -0,0 +1,741 @@
qt-embedded-linux-opensource-src-4.5.2/demos/affine
qt-embedded-linux-opensource-src-4.5.2/demos/books
qt-embedded-linux-opensource-src-4.5.2/demos/boxes/3rdparty
qt-embedded-linux-opensource-src-4.5.2/demos/boxes
qt-embedded-linux-opensource-src-4.5.2/demos/browser
qt-embedded-linux-opensource-src-4.5.2/demos/chip
qt-embedded-linux-opensource-src-4.5.2/demos/composition
qt-embedded-linux-opensource-src-4.5.2/demos/deform
qt-embedded-linux-opensource-src-4.5.2/demos/embedded/embeddedsvgviewer
qt-embedded-linux-opensource-src-4.5.2/demos/embedded/fluidlauncher
qt-embedded-linux-opensource-src-4.5.2/demos/embedded/styledemo
qt-embedded-linux-opensource-src-4.5.2/demos/embeddeddialogs
qt-embedded-linux-opensource-src-4.5.2/demos/gradients
qt-embedded-linux-opensource-src-4.5.2/demos/interview
qt-embedded-linux-opensource-src-4.5.2/demos/macmainwindow
qt-embedded-linux-opensource-src-4.5.2/demos/mainwindow
qt-embedded-linux-opensource-src-4.5.2/demos/mediaplayer
qt-embedded-linux-opensource-src-4.5.2/demos/pathstroke
qt-embedded-linux-opensource-src-4.5.2/demos/qtdemo
qt-embedded-linux-opensource-src-4.5.2/demos/shared
qt-embedded-linux-opensource-src-4.5.2/demos/spreadsheet
qt-embedded-linux-opensource-src-4.5.2/demos/sqlbrowser
qt-embedded-linux-opensource-src-4.5.2/demos/textedit
qt-embedded-linux-opensource-src-4.5.2/demos/undo
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/brushstyles
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/clipboard
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/customstyle
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/designer/autoconnection
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/designer/multipleinheritance
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/designer/noautoconnection
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/designer/singleinheritance
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/dockwidgets
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/draganddrop
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/dragging
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/dropactions
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/dropevents
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/droprectangle
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/eventfilters
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/explicitlysharedemployee
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/i18n-non-qt-class
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/inherited-slot
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/itemselection
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/moc
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/modelview-subclasses
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/persistentindexes
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/plaintextlayout
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/porting4-dropevents
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/printing-qprinter
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qlineargradient
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qlistview-dnd
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qlistview-using
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qlistwidget-dnd
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qlistwidget-using
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qmake
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qmetaobject-invokable
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qsignalmapper
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qsplashscreen
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtablewidget-dnd
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtablewidget-resizing
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtablewidget-using
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtcast
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtreeview-dnd
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtreewidget-using
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtreewidgetitemiterator-using
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qtscript/registeringobjects
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/quiloader
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/qx11embedwidget
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/reading-selections
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/separations
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/sharedemployee
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/sharedtablemodel
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/signalmapper
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/signalsandslots
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/splitterhandle
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/stringlistmodel
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textblock-fragments
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-blocks
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-frames
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-imagedrop
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-listitems
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-lists
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-printing
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-selections
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/textdocument-tables
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/threads
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/updating-selections
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/xml/rsslisting
qt-embedded-linux-opensource-src-4.5.2/doc/src/snippets/xml/simpleparse
qt-embedded-linux-opensource-src-4.5.2/examples/assistant/simpletextviewer
qt-embedded-linux-opensource-src-4.5.2/examples/dbus/complexpingpong
qt-embedded-linux-opensource-src-4.5.2/examples/dbus/dbus-chat
qt-embedded-linux-opensource-src-4.5.2/examples/dbus/pingpong
qt-embedded-linux-opensource-src-4.5.2/examples/dbus/remotecontrolledcar/car
qt-embedded-linux-opensource-src-4.5.2/examples/dbus/remotecontrolledcar/controller
qt-embedded-linux-opensource-src-4.5.2/examples/designer/calculatorbuilder
qt-embedded-linux-opensource-src-4.5.2/examples/designer/calculatorform
qt-embedded-linux-opensource-src-4.5.2/examples/designer/containerextension
qt-embedded-linux-opensource-src-4.5.2/examples/designer/customwidgetplugin
qt-embedded-linux-opensource-src-4.5.2/examples/designer/taskmenuextension
qt-embedded-linux-opensource-src-4.5.2/examples/designer/worldtimeclockplugin
qt-embedded-linux-opensource-src-4.5.2/examples/desktop/screenshot
qt-embedded-linux-opensource-src-4.5.2/examples/desktop/systray
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/classwizard
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/configdialog
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/extension
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/findfiles
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/licensewizard
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/sipdialog
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/standarddialogs
qt-embedded-linux-opensource-src-4.5.2/examples/dialogs/tabdialog
qt-embedded-linux-opensource-src-4.5.2/examples/draganddrop/delayedencoding
qt-embedded-linux-opensource-src-4.5.2/examples/draganddrop/draggableicons
qt-embedded-linux-opensource-src-4.5.2/examples/draganddrop/draggabletext
qt-embedded-linux-opensource-src-4.5.2/examples/draganddrop/dropsite
qt-embedded-linux-opensource-src-4.5.2/examples/draganddrop/fridgemagnets
qt-embedded-linux-opensource-src-4.5.2/examples/draganddrop/puzzle
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/basicgraphicslayouts
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/collidingmice
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/diagramscene
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/dragdroprobot
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/elasticnodes
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/padnavigator
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/portedasteroids
qt-embedded-linux-opensource-src-4.5.2/examples/graphicsview/portedcanvas
qt-embedded-linux-opensource-src-4.5.2/examples/help/contextsensitivehelp
qt-embedded-linux-opensource-src-4.5.2/examples/help/remotecontrol
qt-embedded-linux-opensource-src-4.5.2/examples/help/simpletextviewer
qt-embedded-linux-opensource-src-4.5.2/examples/ipc/localfortuneclient
qt-embedded-linux-opensource-src-4.5.2/examples/ipc/localfortuneserver
qt-embedded-linux-opensource-src-4.5.2/examples/ipc/sharedmemory
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/addressbook
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/basicsortfiltermodel
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/chart
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/coloreditorfactory
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/combowidgetmapper
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/customsortfiltermodel
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/editabletreemodel
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/fetchmore
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/pixelator
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/puzzle
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/simpledommodel
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/simpletreemodel
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/simplewidgetmapper
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/spinboxdelegate
qt-embedded-linux-opensource-src-4.5.2/examples/itemviews/stardelegate
qt-embedded-linux-opensource-src-4.5.2/examples/layouts/basiclayouts
qt-embedded-linux-opensource-src-4.5.2/examples/layouts/borderlayout
qt-embedded-linux-opensource-src-4.5.2/examples/layouts/dynamiclayouts
qt-embedded-linux-opensource-src-4.5.2/examples/layouts/flowlayout
qt-embedded-linux-opensource-src-4.5.2/examples/linguist/arrowpad
qt-embedded-linux-opensource-src-4.5.2/examples/linguist/trollprint
qt-embedded-linux-opensource-src-4.5.2/examples/mainwindows/application
qt-embedded-linux-opensource-src-4.5.2/examples/mainwindows/dockwidgets
qt-embedded-linux-opensource-src-4.5.2/examples/mainwindows/mdi
qt-embedded-linux-opensource-src-4.5.2/examples/mainwindows/menus
qt-embedded-linux-opensource-src-4.5.2/examples/mainwindows/recentfiles
qt-embedded-linux-opensource-src-4.5.2/examples/mainwindows/sdi
qt-embedded-linux-opensource-src-4.5.2/examples/network/blockingfortuneclient
qt-embedded-linux-opensource-src-4.5.2/examples/network/broadcastreceiver
qt-embedded-linux-opensource-src-4.5.2/examples/network/broadcastsender
qt-embedded-linux-opensource-src-4.5.2/examples/network/downloadmanager
qt-embedded-linux-opensource-src-4.5.2/examples/network/fortuneclient
qt-embedded-linux-opensource-src-4.5.2/examples/network/fortuneserver
qt-embedded-linux-opensource-src-4.5.2/examples/network/ftp
qt-embedded-linux-opensource-src-4.5.2/examples/network/googlesuggest
qt-embedded-linux-opensource-src-4.5.2/examples/network/http
qt-embedded-linux-opensource-src-4.5.2/examples/network/loopback
qt-embedded-linux-opensource-src-4.5.2/examples/network/network-chat
qt-embedded-linux-opensource-src-4.5.2/examples/network/securesocketclient
qt-embedded-linux-opensource-src-4.5.2/examples/network/threadedfortuneserver
qt-embedded-linux-opensource-src-4.5.2/examples/network/torrent
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/2dpainting
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/framebufferobject
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/framebufferobject2
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/grabber
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/hellogl
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/hellogl_es
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/hellogl_es2
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/overpainting
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/pbuffers
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/pbuffers2
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/samplebuffers
qt-embedded-linux-opensource-src-4.5.2/examples/opengl/textures
qt-embedded-linux-opensource-src-4.5.2/examples/painting/basicdrawing
qt-embedded-linux-opensource-src-4.5.2/examples/painting/concentriccircles
qt-embedded-linux-opensource-src-4.5.2/examples/painting/fontsampler
qt-embedded-linux-opensource-src-4.5.2/examples/painting/imagecomposition
qt-embedded-linux-opensource-src-4.5.2/examples/painting/painterpaths
qt-embedded-linux-opensource-src-4.5.2/examples/painting/svggenerator
qt-embedded-linux-opensource-src-4.5.2/examples/painting/svgviewer
qt-embedded-linux-opensource-src-4.5.2/examples/painting/transformations
qt-embedded-linux-opensource-src-4.5.2/examples/phonon/capabilities
qt-embedded-linux-opensource-src-4.5.2/examples/phonon/musicplayer
qt-embedded-linux-opensource-src-4.5.2/examples/qmake/precompile
qt-embedded-linux-opensource-src-4.5.2/examples/qmake/tutorial
qt-embedded-linux-opensource-src-4.5.2/examples/qtconcurrent/imagescaling
qt-embedded-linux-opensource-src-4.5.2/examples/qws/ahigl
qt-embedded-linux-opensource-src-4.5.2/examples/qws/dbscreen
qt-embedded-linux-opensource-src-4.5.2/examples/qws/mousecalibration
qt-embedded-linux-opensource-src-4.5.2/examples/qws/simpledecoration
qt-embedded-linux-opensource-src-4.5.2/examples/qws/svgalib
qt-embedded-linux-opensource-src-4.5.2/examples/richtext/calendar
qt-embedded-linux-opensource-src-4.5.2/examples/richtext/orderform
qt-embedded-linux-opensource-src-4.5.2/examples/richtext/syntaxhighlighter
qt-embedded-linux-opensource-src-4.5.2/examples/richtext/textobject
qt-embedded-linux-opensource-src-4.5.2/examples/script/context2d
qt-embedded-linux-opensource-src-4.5.2/examples/script/customclass
qt-embedded-linux-opensource-src-4.5.2/examples/script/defaultprototypes
qt-embedded-linux-opensource-src-4.5.2/examples/script/qsdbg
qt-embedded-linux-opensource-src-4.5.2/examples/script/qstetrix
qt-embedded-linux-opensource-src-4.5.2/examples/sql/cachedtable
qt-embedded-linux-opensource-src-4.5.2/examples/sql/drilldown
qt-embedded-linux-opensource-src-4.5.2/examples/sql/masterdetail
qt-embedded-linux-opensource-src-4.5.2/examples/sql/querymodel
qt-embedded-linux-opensource-src-4.5.2/examples/sql/sqlwidgetmapper
qt-embedded-linux-opensource-src-4.5.2/examples/sql
qt-embedded-linux-opensource-src-4.5.2/examples/threads/mandelbrot
qt-embedded-linux-opensource-src-4.5.2/examples/threads/queuedcustomtype
qt-embedded-linux-opensource-src-4.5.2/examples/tools/codecs
qt-embedded-linux-opensource-src-4.5.2/examples/tools/completer
qt-embedded-linux-opensource-src-4.5.2/examples/tools/customcompleter
qt-embedded-linux-opensource-src-4.5.2/examples/tools/customtype
qt-embedded-linux-opensource-src-4.5.2/examples/tools/customtypesending
qt-embedded-linux-opensource-src-4.5.2/examples/tools/echoplugin/echowindow
qt-embedded-linux-opensource-src-4.5.2/examples/tools/echoplugin/plugin
qt-embedded-linux-opensource-src-4.5.2/examples/tools/i18n
qt-embedded-linux-opensource-src-4.5.2/examples/tools/plugandpaint
qt-embedded-linux-opensource-src-4.5.2/examples/tools/plugandpaintplugins/basictools
qt-embedded-linux-opensource-src-4.5.2/examples/tools/plugandpaintplugins/extrafilters
qt-embedded-linux-opensource-src-4.5.2/examples/tools/regexp
qt-embedded-linux-opensource-src-4.5.2/examples/tools/settingseditor
qt-embedded-linux-opensource-src-4.5.2/examples/tools/styleplugin/plugin
qt-embedded-linux-opensource-src-4.5.2/examples/tools/styleplugin/stylewindow
qt-embedded-linux-opensource-src-4.5.2/examples/tools/treemodelcompleter
qt-embedded-linux-opensource-src-4.5.2/examples/tools/undoframework
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook/part1
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook/part2
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook/part3
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook/part4
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook/part5
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook/part6
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook/part7
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook-fr/part1
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook-fr/part2
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook-fr/part3
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook-fr/part4
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook-fr/part5
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook-fr/part6
qt-embedded-linux-opensource-src-4.5.2/examples/tutorials/addressbook-fr/part7
qt-embedded-linux-opensource-src-4.5.2/examples/uitools/multipleinheritance
qt-embedded-linux-opensource-src-4.5.2/examples/uitools/textfinder
qt-embedded-linux-opensource-src-4.5.2/examples/webkit/fancybrowser
qt-embedded-linux-opensource-src-4.5.2/examples/webkit/formextractor
qt-embedded-linux-opensource-src-4.5.2/examples/webkit/googlechat
qt-embedded-linux-opensource-src-4.5.2/examples/webkit/previewer
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/analogclock
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/calculator
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/calendarwidget
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/charactermap
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/codeeditor
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/digitalclock
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/groupbox
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/icons
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/imageviewer
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/lineedits
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/movie
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/scribble
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/shapedclock
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/sliders
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/spinboxes
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/styles
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/stylesheet
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/tablet
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/tetrix
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/tooltips
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/validators
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/wiggly
qt-embedded-linux-opensource-src-4.5.2/examples/widgets/windowflags
qt-embedded-linux-opensource-src-4.5.2/examples/xml/dombookmarks
qt-embedded-linux-opensource-src-4.5.2/examples/xml/rsslisting
qt-embedded-linux-opensource-src-4.5.2/examples/xml/saxbookmarks
qt-embedded-linux-opensource-src-4.5.2/examples/xml/streambookmarks
qt-embedded-linux-opensource-src-4.5.2/examples/xmlpatterns/filetree
qt-embedded-linux-opensource-src-4.5.2/examples/xmlpatterns/qobjectxmlmodel
qt-embedded-linux-opensource-src-4.5.2/examples/xmlpatterns/recipes
qt-embedded-linux-opensource-src-4.5.2/examples/xmlpatterns/shared
qt-embedded-linux-opensource-src-4.5.2/examples/xmlpatterns/trafficinfo
qt-embedded-linux-opensource-src-4.5.2/include/phonon/private
qt-embedded-linux-opensource-src-4.5.2/include/phonon
qt-embedded-linux-opensource-src-4.5.2/include/Qt/private
qt-embedded-linux-opensource-src-4.5.2/include/Qt
qt-embedded-linux-opensource-src-4.5.2/include/Qt3Support/private
qt-embedded-linux-opensource-src-4.5.2/include/Qt3Support
qt-embedded-linux-opensource-src-4.5.2/include/QtAssistant
qt-embedded-linux-opensource-src-4.5.2/include/QtCore/private
qt-embedded-linux-opensource-src-4.5.2/include/QtCore
qt-embedded-linux-opensource-src-4.5.2/include/QtDBus/private
qt-embedded-linux-opensource-src-4.5.2/include/QtDBus
qt-embedded-linux-opensource-src-4.5.2/include/QtDesigner/private
qt-embedded-linux-opensource-src-4.5.2/include/QtDesigner
qt-embedded-linux-opensource-src-4.5.2/include/QtGui/private
qt-embedded-linux-opensource-src-4.5.2/include/QtGui
qt-embedded-linux-opensource-src-4.5.2/include/QtHelp/private
qt-embedded-linux-opensource-src-4.5.2/include/QtHelp
qt-embedded-linux-opensource-src-4.5.2/include/QtNetwork/private
qt-embedded-linux-opensource-src-4.5.2/include/QtNetwork
qt-embedded-linux-opensource-src-4.5.2/include/QtOpenGL/private
qt-embedded-linux-opensource-src-4.5.2/include/QtOpenGL
qt-embedded-linux-opensource-src-4.5.2/include/QtScript/private
qt-embedded-linux-opensource-src-4.5.2/include/QtScript
qt-embedded-linux-opensource-src-4.5.2/include/QtScriptTools/private
qt-embedded-linux-opensource-src-4.5.2/include/QtScriptTools
qt-embedded-linux-opensource-src-4.5.2/include/QtSql/private
qt-embedded-linux-opensource-src-4.5.2/include/QtSql
qt-embedded-linux-opensource-src-4.5.2/include/QtSvg/private
qt-embedded-linux-opensource-src-4.5.2/include/QtSvg
qt-embedded-linux-opensource-src-4.5.2/include/QtTest/private
qt-embedded-linux-opensource-src-4.5.2/include/QtTest
qt-embedded-linux-opensource-src-4.5.2/include/QtUiTools/private
qt-embedded-linux-opensource-src-4.5.2/include/QtUiTools
qt-embedded-linux-opensource-src-4.5.2/include/QtWebKit/private
qt-embedded-linux-opensource-src-4.5.2/include/QtWebKit
qt-embedded-linux-opensource-src-4.5.2/include/QtXml
qt-embedded-linux-opensource-src-4.5.2/include/QtXmlPatterns/private
qt-embedded-linux-opensource-src-4.5.2/include/QtXmlPatterns
qt-embedded-linux-opensource-src-4.5.2/mkspecs/aix-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/aix-g++-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/aix-xlc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/aix-xlc-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/cygwin-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/darwin-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/freebsd-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/freebsd-g++34
qt-embedded-linux-opensource-src-4.5.2/mkspecs/freebsd-g++40
qt-embedded-linux-opensource-src-4.5.2/mkspecs/freebsd-icc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpux-acc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpux-acc-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpux-acc-o64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpux-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpux-g++-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpuxi-acc-32
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpuxi-acc-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hpuxi-g++-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/hurd-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/irix-cc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/irix-cc-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/irix-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/irix-g++-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-cxx
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-ecc-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-g++-32
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-g++-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-icc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-icc-32
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-icc-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-kcc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-llvm
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-lsb-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/linux-pgcc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/lynxos-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/macx-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/macx-g++42
qt-embedded-linux-opensource-src-4.5.2/mkspecs/macx-icc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/macx-llvm
qt-embedded-linux-opensource-src-4.5.2/mkspecs/macx-pbuilder
qt-embedded-linux-opensource-src-4.5.2/mkspecs/macx-xcode
qt-embedded-linux-opensource-src-4.5.2/mkspecs/macx-xlc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/netbsd-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/openbsd-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/freebsd-generic-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-arm-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-armv6-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-avr32-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-cellon-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-dm7000-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-dm800-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-generic-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-generic-g++-32
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-ipaq-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-lsb-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-mips-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-ppc-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-sh-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-sh4al-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-sharp-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-x86-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-x86_64-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-zylonite-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/macx-generic-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/solaris-generic-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/sco-cc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/sco-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/solaris-cc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/solaris-cc-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/solaris-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/solaris-g++-64
qt-embedded-linux-opensource-src-4.5.2/mkspecs/tru64-cxx
qt-embedded-linux-opensource-src-4.5.2/mkspecs/tru64-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/unixware-cc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/unixware-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-borland
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-g++
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-icc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-msvc
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-msvc.net
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-msvc2002
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-msvc2003
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/win32-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-armv4i-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-armv4i-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-mipsii-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-mipsii-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-mipsiv-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-mipsiv-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-sh4-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-sh4-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-x86-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince50standard-x86-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wince60standard-armv4i-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm50pocket-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm50pocket-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm50smart-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm50smart-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm60professional-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm60professional-msvc2008
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm60standard-msvc2005
qt-embedded-linux-opensource-src-4.5.2/mkspecs/wincewm60standard-msvc2008
qt-embedded-linux-opensource-src-4.5.2/qmake/generators/mac
qt-embedded-linux-opensource-src-4.5.2/qmake/generators/unix
qt-embedded-linux-opensource-src-4.5.2/qmake/generators/win32
qt-embedded-linux-opensource-src-4.5.2/qmake/generators
qt-embedded-linux-opensource-src-4.5.2/qmake
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/analysis/standard
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/analysis
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/config
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/debug
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/document
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/index
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/queryParser
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/search
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/store
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene/util
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src/CLucene
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/clucene/src
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/builds/amiga/include/freetype/config
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/builds/atari
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/builds/unix
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/builds/vms
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/devel
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/include/freetype/config
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/include/freetype/internal/services
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/include/freetype/internal
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/include/freetype
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/include
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/autofit
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/bdf
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/cache
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/cff
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/cid
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/gxvalid
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/gzip
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/lzw
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/otvalid
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/pcf
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/pfr
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/psaux
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/pshinter
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/psnames
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/raster
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/sfnt
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/smooth
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/truetype
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/type1
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/type42
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/freetype/src/winfonts
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/harfbuzz/src
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/libjpeg
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/libmng
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/libpng
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/libtiff/libtiff
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/libtiff/test
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/md4
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/md5
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/phonon/ds9
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/phonon/gstreamer
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/phonon/phonon
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/phonon/qt7
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/phonon/waveout
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/powervr
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/ptmalloc/sysdeps/generic
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/ptmalloc/sysdeps/pthread
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/ptmalloc/sysdeps/solaris
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/ptmalloc/sysdeps/sproc
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/ptmalloc
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/sqlite
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/API
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/assembler
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/bytecode
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/bytecompiler
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/debugger
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/ForwardingHeaders/JavaScriptCore
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/generated
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/interpreter
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/jit
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/os-win32
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/os-wince
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/parser
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/pcre
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/profiler
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/runtime
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/wrec
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/qt4
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/wtf/unicode
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore/wtf
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/JavaScriptCore
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/bindings/js
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/bridge/c
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/bridge/jni
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/bridge/qt
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/bridge
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/css
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/dom
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/editing
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/debugger
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/interpreter
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/masm
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/parser
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/pcre
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/profiler
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/runtime
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/wrec
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/unicode/icu
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/unicode
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/generated
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/history
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/html
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/inspector
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/loader/appcache
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/loader/archive/cf
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/loader/archive
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/loader/icon
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/loader
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page/animation
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page/chromium
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page/win
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/page
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/animation
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/graphics/filters
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/graphics/qt
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/graphics/transforms
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/graphics
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/image-decoders
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/mac
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/network/chromium
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/network/qt
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/network
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/qt
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/sql
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/text/mac
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/text/qt
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform/text
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/platform
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/plugins/win
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/plugins
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/rendering/style
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/rendering
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/storage
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/svg/animation
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/svg/graphics/filters
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/svg/graphics
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/svg
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/wml
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore/xml
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebCore
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebKit/qt/Api
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebKit/qt/Plugins
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebKit/qt/WebCoreSupport
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/webkit/WebKit/qt
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/wintab
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/xorg
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/zlib/examples
qt-embedded-linux-opensource-src-4.5.2/src/3rdparty/zlib
qt-embedded-linux-opensource-src-4.5.2/src/corelib/arch
qt-embedded-linux-opensource-src-4.5.2/src/corelib/codecs
qt-embedded-linux-opensource-src-4.5.2/src/corelib/concurrent
qt-embedded-linux-opensource-src-4.5.2/src/corelib/global
qt-embedded-linux-opensource-src-4.5.2/src/corelib/io
qt-embedded-linux-opensource-src-4.5.2/src/corelib/kernel
qt-embedded-linux-opensource-src-4.5.2/src/corelib/plugin
qt-embedded-linux-opensource-src-4.5.2/src/corelib/thread
qt-embedded-linux-opensource-src-4.5.2/src/corelib/tools
qt-embedded-linux-opensource-src-4.5.2/src/corelib/xml
qt-embedded-linux-opensource-src-4.5.2/src/dbus
qt-embedded-linux-opensource-src-4.5.2/src/gui/accessible
qt-embedded-linux-opensource-src-4.5.2/src/gui/dialogs
qt-embedded-linux-opensource-src-4.5.2/src/gui/embedded
qt-embedded-linux-opensource-src-4.5.2/src/gui/graphicsview
qt-embedded-linux-opensource-src-4.5.2/src/gui/image
qt-embedded-linux-opensource-src-4.5.2/src/gui/inputmethod
qt-embedded-linux-opensource-src-4.5.2/src/gui/itemviews
qt-embedded-linux-opensource-src-4.5.2/src/gui/kernel
qt-embedded-linux-opensource-src-4.5.2/src/gui/painting
qt-embedded-linux-opensource-src-4.5.2/src/gui/styles
qt-embedded-linux-opensource-src-4.5.2/src/gui/text
qt-embedded-linux-opensource-src-4.5.2/src/gui/util
qt-embedded-linux-opensource-src-4.5.2/src/gui/widgets
qt-embedded-linux-opensource-src-4.5.2/src/network/access
qt-embedded-linux-opensource-src-4.5.2/src/network/kernel
qt-embedded-linux-opensource-src-4.5.2/src/network/socket
qt-embedded-linux-opensource-src-4.5.2/src/network/ssl
qt-embedded-linux-opensource-src-4.5.2/src/opengl/gl2paintengineex
qt-embedded-linux-opensource-src-4.5.2/src/opengl/util
qt-embedded-linux-opensource-src-4.5.2/src/opengl
qt-embedded-linux-opensource-src-4.5.2/src/plugins/accessible/compat
qt-embedded-linux-opensource-src-4.5.2/src/plugins/accessible/widgets
qt-embedded-linux-opensource-src-4.5.2/src/plugins/codecs/cn
qt-embedded-linux-opensource-src-4.5.2/src/plugins/codecs/jp
qt-embedded-linux-opensource-src-4.5.2/src/plugins/codecs/kr
qt-embedded-linux-opensource-src-4.5.2/src/plugins/codecs/tw
qt-embedded-linux-opensource-src-4.5.2/src/plugins/gfxdrivers/ahi
qt-embedded-linux-opensource-src-4.5.2/src/plugins/gfxdrivers/directfb
qt-embedded-linux-opensource-src-4.5.2/src/plugins/gfxdrivers/hybrid
qt-embedded-linux-opensource-src-4.5.2/src/plugins/gfxdrivers/powervr/pvreglscreen
qt-embedded-linux-opensource-src-4.5.2/src/plugins/gfxdrivers/powervr/QWSWSEGL
qt-embedded-linux-opensource-src-4.5.2/src/plugins/gfxdrivers/vnc
qt-embedded-linux-opensource-src-4.5.2/src/plugins/iconengines/svgiconengine
qt-embedded-linux-opensource-src-4.5.2/src/plugins/imageformats/gif
qt-embedded-linux-opensource-src-4.5.2/src/plugins/imageformats/ico
qt-embedded-linux-opensource-src-4.5.2/src/plugins/imageformats/jpeg
qt-embedded-linux-opensource-src-4.5.2/src/plugins/imageformats/mng
qt-embedded-linux-opensource-src-4.5.2/src/plugins/imageformats/svg
qt-embedded-linux-opensource-src-4.5.2/src/plugins/imageformats/tiff
qt-embedded-linux-opensource-src-4.5.2/src/plugins/inputmethods/imsw-multi
qt-embedded-linux-opensource-src-4.5.2/src/plugins/kbddrivers/linuxis
qt-embedded-linux-opensource-src-4.5.2/src/plugins/mousedrivers/linuxis
qt-embedded-linux-opensource-src-4.5.2/src/plugins/script/qtdbus
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/canvas
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/dialogs
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/itemviews
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/network
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/other
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/painting
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/sql
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/text
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/tools
qt-embedded-linux-opensource-src-4.5.2/src/qt3support/widgets
qt-embedded-linux-opensource-src-4.5.2/src/script
qt-embedded-linux-opensource-src-4.5.2/src/scripttools/debugging
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/db2
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/ibase
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/mysql
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/oci
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/odbc
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/psql
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/sqlite
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/sqlite2
qt-embedded-linux-opensource-src-4.5.2/src/sql/drivers/tds
qt-embedded-linux-opensource-src-4.5.2/src/sql/kernel
qt-embedded-linux-opensource-src-4.5.2/src/sql/models
qt-embedded-linux-opensource-src-4.5.2/src/svg
qt-embedded-linux-opensource-src-4.5.2/src/testlib/3rdparty
qt-embedded-linux-opensource-src-4.5.2/src/testlib
qt-embedded-linux-opensource-src-4.5.2/src/tools/moc
qt-embedded-linux-opensource-src-4.5.2/src/tools/rcc
qt-embedded-linux-opensource-src-4.5.2/src/tools/uic/cpp
qt-embedded-linux-opensource-src-4.5.2/src/tools/uic
qt-embedded-linux-opensource-src-4.5.2/src/tools/uic3
qt-embedded-linux-opensource-src-4.5.2/src/xml/dom
qt-embedded-linux-opensource-src-4.5.2/src/xml/sax
qt-embedded-linux-opensource-src-4.5.2/src/xml/stream
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/acceltree
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/api
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/data
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/environment
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/expr
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/functions
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/iterators
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/janitors
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/parser
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/projection
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/type
qt-embedded-linux-opensource-src-4.5.2/src/xmlpatterns/utils
qt-embedded-linux-opensource-src-4.5.2/tools/assistant/compat/lib
qt-embedded-linux-opensource-src-4.5.2/tools/assistant/compat
qt-embedded-linux-opensource-src-4.5.2/tools/assistant/lib/fulltextsearch
qt-embedded-linux-opensource-src-4.5.2/tools/assistant/lib
qt-embedded-linux-opensource-src-4.5.2/tools/assistant/tools/assistant
qt-embedded-linux-opensource-src-4.5.2/tools/assistant/tools/qhelpconverter
qt-embedded-linux-opensource-src-4.5.2/tools/assistant/tools/shared
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/buddyeditor
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/formeditor
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/lib
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/objectinspector
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/propertyeditor
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/signalsloteditor
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/tabordereditor
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/taskmenu
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/components/widgetbox
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/designer
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/lib/components
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/lib/extension
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/lib/sdk
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/lib/shared
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/lib/uilib
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/lib
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/phononwidgets
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/qwebview
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/tools/view3d
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3iconview
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3listbox
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3listview
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3mainwindow
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3table
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3textedit
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3toolbar
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3widgets
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3widgetstack
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/plugins/widgets/q3wizard
qt-embedded-linux-opensource-src-4.5.2/tools/designer/src/uitools
qt-embedded-linux-opensource-src-4.5.2/tools/linguist/linguist
qt-embedded-linux-opensource-src-4.5.2/tools/linguist/shared
qt-embedded-linux-opensource-src-4.5.2/tools/macdeployqt/shared
qt-embedded-linux-opensource-src-4.5.2/tools/makeqpf
qt-embedded-linux-opensource-src-4.5.2/tools/pixeltool
qt-embedded-linux-opensource-src-4.5.2/tools/porting/src
qt-embedded-linux-opensource-src-4.5.2/tools/qconfig
qt-embedded-linux-opensource-src-4.5.2/tools/qdbus/qdbusviewer
qt-embedded-linux-opensource-src-4.5.2/tools/qdoc3
qt-embedded-linux-opensource-src-4.5.2/tools/qtconcurrent/codegenerator/src
qt-embedded-linux-opensource-src-4.5.2/tools/qtconfig
qt-embedded-linux-opensource-src-4.5.2/tools/shared/deviceskin
qt-embedded-linux-opensource-src-4.5.2/tools/shared/findwidget
qt-embedded-linux-opensource-src-4.5.2/tools/shared/fontpanel
qt-embedded-linux-opensource-src-4.5.2/tools/shared/qtgradienteditor
qt-embedded-linux-opensource-src-4.5.2/tools/shared/qtpropertybrowser
qt-embedded-linux-opensource-src-4.5.2/tools/shared/qttoolbardialog
qt-embedded-linux-opensource-src-4.5.2/tools/xmlpatterns

3
qt.conf Normal file
View File

@ -0,0 +1,3 @@
[Paths]
Prefix = /usr

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
resources/icons/default.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

26
resources/linbo.qrc Normal file
View File

@ -0,0 +1,26 @@
<RCC>
<qresource prefix="/">
<file>icons/cache-22x22.png</file>
<file>icons/information-22x22.png</file>
<file>icons/register-22x22.png</file>
<file>icons/sync+start-22x22.png</file>
<file>icons/console-22x22.png</file>
<file>icons/new+start-22x22.png</file>
<file>icons/start-22x22.png</file>
<file>icons/upload-22x22.png</file>
<file>icons/image-22x22.png</file>
<file>icons/partition-22x22.png</file>
<file>icons/computer-64x64.png</file>
<file>icons/drive-harddisk-64x64.png</file>
<file>icons/system-reboot-32x32.png</file>
<file>icons/system-shutdown-32x32.png</file>
<file>icons/default.png</file>
<file>svgIcons/overlayChecked.svg</file>
<file>svgIcons/ubuntu.svg</file>
<file>svgIcons/windows.svg</file>
<file>svgIcons/startAction.svg</file>
<file>svgIcons/syncAction.svg</file>
<file>svgIcons/resetAction.svg</file>
<file>svgIcons/overlayNormal.svg</file>
</qresource>
</RCC>

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" class="svg-inline--fa fa-check fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"></path></svg>

After

Width:  |  Height:  |  Size: 504 B

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500"
height="500"
viewBox="0 0 132.29166 132.29167"
version="1.1"
id="svg8"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"
sodipodi:docname="overlay.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="374.65698"
inkscape:cy="174.2913"
inkscape:document-units="mm"
inkscape:current-layer="g847"
inkscape:document-rotation="0"
showgrid="false"
units="px"
inkscape:window-width="1850"
inkscape:window-height="1016"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline">
<g
id="g847"
style="display:inline;opacity:1">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.96875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
d="M -1.984375,-1.984375 V 134.27539 H 134.27539 V -1.984375 Z M 7.4230299,7.4230299 104.5232,6.6011496 125.68987,27.767813 124.86799,124.86799 H 7.4230299 Z"
id="path851"
sodipodi:nodetypes="ccccccccccc" />
</g>
<path
fill="#ffffff"
d="m 118.59431,14.348586 -4.50202,-4.502025 c -0.27048,-0.2704729 -0.27048,-0.7090139 0,-0.9795138 l 0.97949,-0.9795147 c 0.27047,-0.2705007 0.70904,-0.2705007 0.97951,0 l 3.03278,3.0327515 6.49588,-6.495847 c 0.27047,-0.2704735 0.70904,-0.2704735 0.97951,0 l 0.97949,0.9795145 c 0.27047,0.2704736 0.27047,0.7090146 0,0.9795151 l -7.96512,7.9651464 c -0.2705,0.270473 -0.70904,0.270473 -0.97952,-2.7e-5 z"
id="path835"
style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.0270554"
mask="none" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500px"
height="500px"
viewBox="0 0 500px 500px"
version="1.1"
id="svg2023"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"
sodipodi:docname="overlayNormal.svg">
<defs
id="defs2017" />
<metadata
id="metadata2020">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:15px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2638"
width="500px"
height="500px"
x="0"
y="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="play" class="svg-inline--fa fa-play fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"></path></svg>

After

Width:  |  Height:  |  Size: 339 B

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="power-off" class="svg-inline--fa fa-power-off fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"></path></svg>

After

Width:  |  Height:  |  Size: 701 B

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="recycle" class="svg-inline--fa fa-recycle fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="redo-alt" class="svg-inline--fa fa-redo-alt fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z"></path></svg>

After

Width:  |  Height:  |  Size: 781 B

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="recycle"
class="svg-inline--fa fa-recycle fa-w-16"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg4"
sodipodi:docname="resetAction.svg"
width="500"
height="500"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="256"
inkscape:cy="256"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0" />
<rect
style="fill:#ff2400;fill-opacity:1;stroke-width:0;stroke-linecap:round;stroke-linejoin:round"
id="rect835"
width="500"
height="500"
x="0"
y="0" />
<path
fill="#ffffff"
d="m 222.09405,252.30584 c 1.26251,5.46757 -4.73554,9.62303 -9.40156,6.70624 l -15.91251,-9.94334 -19.86993,31.79759 c -5.18907,8.30272 0.80859,19.13356 10.59453,19.13356 h 20.30783 c 2.58867,0 4.6875,2.09882 4.6875,4.68748 v 15.62497 c 0,2.58867 -2.09883,4.6875 -4.6875,4.6875 h -20.26759 c -29.42736,0 -47.38362,-32.44057 -31.80002,-57.37489 l 19.85235,-31.79212 -15.90821,-9.9406 c -4.71914,-2.94804 -3.50234,-10.141 1.90586,-11.38982 l 43.06135,-9.94138 c 3.36368,-0.77657 6.71915,1.3207 7.49571,4.68358 z m 38.50042,-71.45101 16.12853,25.81088 -15.91408,9.94412 c -4.70742,2.94061 -3.51562,10.13786 1.90586,11.38982 l 43.06136,9.94138 c 3.3875,0.78086 6.72461,-1.34296 7.4957,-4.68358 l 9.94142,-43.06124 c 1.24882,-5.4078 -4.6836,-9.65584 -9.40157,-6.70624 l -15.89337,9.93124 -16.11837,-25.81324 c -14.65665,-23.45033 -48.9098,-23.50424 -63.60004,0 l -7.0168,11.2367 c -1.37109,2.19531 -0.70312,5.08632 1.49219,6.45819 l 13.24962,8.27928 c 2.19531,1.37187 5.0875,0.70429 6.45938,-1.49101 l 7.01601,-11.22771 c 4.96564,-7.94569 16.39572,-7.68593 21.19416,-0.009 z m 83.65864,86.77012 -10.74805,-17.21285 c -1.37148,-2.19648 -4.26406,-2.86484 -6.46016,-1.49258 l -13.22696,8.26522 c -2.19532,1.37187 -2.86328,4.26366 -1.49141,6.45936 l 10.76719,17.23121 c 5.17852,8.28554 -0.80351,19.12496 -10.6,19.12496 h -37.49377 v -18.74254 c 0,-5.55194 -6.73516,-8.35271 -10.66915,-4.41912 l -31.25002,31.24251 c -2.44101,2.44062 -2.44101,6.39804 0,8.83866 l 31.25002,31.24563 c 3.90704,3.90781 10.66915,1.17031 10.66915,-4.41991 v -18.74566 h 37.45315 c 29.40392,0 47.3965,-32.42065 31.80001,-57.37489 z"
id="path2"
style="stroke-width:0.390625" />
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="recycle"
class="svg-inline--fa fa-recycle fa-w-16"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg4"
sodipodi:docname="resetAction.svg"
width="500"
height="500"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="256"
inkscape:cy="256"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0" />
<path
d="m 208.14107,253.45876 c 1.89377,8.20136 -7.10331,14.43455 -14.10234,10.05936 l -23.86876,-14.91501 -29.8049,47.69639 c -7.7836,12.45408 1.21289,28.70034 15.8918,28.70034 h 30.46174 c 3.88301,0 7.03125,3.14823 7.03125,7.03122 v 23.43745 c 0,3.88301 -3.14824,7.03125 -7.03125,7.03125 h -30.40138 c -44.14104,0 -71.075433,-48.66085 -47.70003,-86.06233 l 29.77852,-47.68818 -23.86231,-14.9109 c -7.07871,-4.42206 -5.25351,-15.2115 2.85879,-17.08473 l 64.59202,-14.91207 c 5.04552,-1.16486 10.07873,1.98105 11.24357,7.02537 z m 57.75064,-107.17651 24.19279,38.71632 -23.87112,14.91618 c -7.06113,4.41091 -5.27343,15.20679 2.85879,17.08473 l 64.59204,14.91207 c 5.08125,1.17129 10.08692,-2.01444 11.24355,-7.02537 l 14.91213,-64.59186 c 1.87323,-8.1117 -7.0254,-14.48376 -14.10235,-10.05936 l -23.84006,14.89686 -24.17755,-38.71987 c -21.98498,-35.175491 -73.36471,-35.256361 -95.40007,0 l -10.5252,16.85506 c -2.05663,3.29296 -1.05468,7.62948 2.23829,9.68728 l 19.87443,12.41892 c 3.29296,2.05781 7.63125,1.05644 9.68907,-2.23651 l 10.52401,-16.84157 c 7.44846,-11.91854 24.59359,-11.52889 31.79125,-0.0135 z m 125.48796,130.15518 -16.12208,-25.81928 c -2.05722,-3.29472 -6.39609,-4.29726 -9.69024,-2.23887 l -19.84044,12.39783 c -3.29298,2.05781 -4.29492,6.39549 -2.23711,9.68904 l 16.15078,25.84682 c 7.76778,12.42831 -1.20526,28.68744 -15.9,28.68744 H 287.49993 V 296.8866 c 0,-8.32791 -10.10274,-12.52907 -16.00373,-6.62868 l -46.87503,46.86376 c -3.66152,3.66093 -3.66152,9.59706 0,13.25799 l 46.87503,46.86845 c 5.86056,5.86171 16.00373,1.75546 16.00373,-6.62987 v -28.11849 h 56.17972 c 44.10588,0 71.09475,-48.63097 47.70002,-86.06233 z"
id="path2"
style="fill:#000000;fill-opacity:1;stroke-width:0.585938" />
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="play"
class="svg-inline--fa fa-play fa-w-14"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg4"
sodipodi:docname="startAction.svg"
width="500"
height="500"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="0.42480469"
inkscape:cx="224"
inkscape:cy="256"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4" />
<rect
style="fill:#66cd00;fill-opacity:1;stroke-width:0;stroke-linecap:round;stroke-linejoin:round"
id="rect2690"
width="500"
height="500"
x="0"
y="0" />
<path
d="M 346.28051,233.85126 208.78609,152.5655 c -11.17141,-6.6013 -28.2801,-0.19531 -28.2801,16.13216 v 162.53247 c 0,14.64784 15.89779,23.4756 28.2801,16.13215 l 137.49442,-81.2467 c 12.26513,-7.22627 12.30418,-25.03804 0,-32.26432 z"
id="path2"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.39061" />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="play"
class="svg-inline--fa fa-play fa-w-14"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg4"
sodipodi:docname="startAction.svg"
width="500"
height="500"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="0.84960938"
inkscape:cx="224"
inkscape:cy="256"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0" />
<path
d="M 376.87408,227.56198 184.94499,114.09481 c -15.59423,-9.21478 -39.47633,-0.27263 -39.47633,22.51896 v 226.87982 c 0,20.44699 22.1918,32.7697 39.47633,22.51894 L 376.87408,272.59989 c 17.12095,-10.08718 17.17546,-34.95072 0,-45.03791 z"
id="path2"
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:20.9386;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="sync-alt" class="svg-inline--fa fa-sync-alt fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"></path></svg>

After

Width:  |  Height:  |  Size: 998 B

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="sync-alt"
class="svg-inline--fa fa-sync-alt fa-w-16"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg4"
sodipodi:docname="syncAction.svg"
width="500"
height="500"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="1.2015291"
inkscape:cx="256"
inkscape:cy="256"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0" />
<rect
style="fill:#ffb00f;fill-opacity:1;stroke-width:0;stroke-linecap:round;stroke-linejoin:round"
id="rect835"
width="500"
height="500"
x="0"
y="0" />
<path
fill="#ffffff"
d="m 296.25807,200.51613 c -12.60565,-11.80323 -28.96452,-18.27339 -46.31936,-18.25806 -31.23306,0.0274 -58.19678,21.44274 -65.64153,51.14919 -0.54194,2.1625 -2.46855,3.68951 -4.69799,3.68951 h -23.10604 c -3.02339,0 -5.32016,-2.74476 -4.76089,-5.71612 C 160.45685,185.05 201.13427,150 250,150 c 26.79355,0 51.1254,10.53871 69.07863,27.69557 l 14.40121,-14.40122 C 339.57621,157.19799 350,161.51573 350,170.1375 v 54.05605 c 0,5.34476 -4.33266,9.67742 -9.67742,9.67742 h -54.05605 c -8.62177,0 -12.93952,-10.42379 -6.84314,-16.52057 z m -136.58065,65.6129 h 54.05605 c 8.62177,0 12.93952,10.42379 6.84314,16.52057 l -16.83468,16.83467 c 12.60565,11.80363 28.96573,18.2738 46.32097,18.25807 31.21694,-0.0282 58.19153,-21.42903 65.63992,-51.14879 0.54194,-2.1625 2.46855,-3.68952 4.69799,-3.68952 h 23.10645 c 3.02339,0 5.32016,2.74476 4.76089,5.71613 C 339.54315,314.95 298.86573,350 250,350 c -26.79355,0 -51.12541,-10.53871 -69.07863,-27.69557 l -14.40121,14.40122 C 160.42379,342.80201 150,338.48427 150,329.8625 v -54.05605 c 0,-5.34476 4.33266,-9.67742 9.67742,-9.67742 z"
id="path2"
style="stroke-width:0.403226" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
aria-hidden="true"
focusable="false"
data-prefix="fas"
data-icon="sync-alt"
class="svg-inline--fa fa-sync-alt fa-w-16"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg4"
sodipodi:docname="syncAction.svg"
width="500"
height="500"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview6"
showgrid="false"
inkscape:zoom="1.2015291"
inkscape:cx="256"
inkscape:cy="256"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0" />
<path
d="m 319.3871,175.7742 c -18.90847,-17.70485 -43.44678,-27.41009 -69.47904,-27.38709 -46.84959,0.0411 -87.29517,32.1641 -98.46229,76.72378 -0.81291,3.24375 -3.70283,5.53427 -7.04699,5.53427 h -34.65906 c -4.53508,0 -7.98024,-4.11715 -7.14133,-8.57418 C 115.68527,152.575 176.7014,100 250,100 c 40.19032,0 76.6881,15.80806 103.61794,41.54336 l 21.60182,-21.60183 C 384.36432,110.79698 400,117.27359 400,130.20625 v 81.08407 c 0,8.01714 -6.49899,14.51614 -14.51613,14.51614 h -81.08408 c -12.93265,0 -19.40928,-15.63569 -10.26471,-24.78086 z m -204.87097,98.41934 h 81.08407 c 12.93266,0 19.40928,15.63569 10.26471,24.78086 l -25.25202,25.25201 c 18.90848,17.70544 43.4486,27.4107 69.48146,27.3871 46.82541,-0.0423 87.2873,-32.14355 98.45988,-76.72319 0.81291,-3.24375 3.70283,-5.53428 7.04699,-5.53428 h 34.65967 c 4.53508,0 7.98024,4.11714 7.14134,8.5742 C 384.31473,347.425 323.29859,400 250,400 209.80967,400 173.31189,384.19194 146.38205,358.45665 l -21.60181,21.60183 C 115.63568,389.20302 100,382.7264 100,369.79375 v -81.08407 c 0,-8.01714 6.49899,-14.51613 14.51613,-14.51614 z"
id="path2"
style="fill:#000000;fill-opacity:1;stroke-width:0.604839" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
aria-hidden="true"
focusable="false"
data-prefix="fab"
data-icon="ubuntu"
class="svg-inline--fa fa-ubuntu fa-w-16"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg853"
sodipodi:docname="test.svg"
width="500"
height="500"
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1850"
inkscape:window-height="1016"
id="namedview837"
showgrid="false"
inkscape:zoom="1.1504296"
inkscape:cx="248"
inkscape:cy="256"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg853" />
<metadata
id="metadata859">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs857" />
<rect
style="display:inline;fill:#dd4814;stroke-width:0;stroke-linecap:round;stroke-linejoin:round"
id="rect839"
width="500"
height="500"
x="0"
y="0" />
<path
fill="#ffffff"
d="m 250,100 c -82.8629,0 -150,67.13709 -150,150 0,82.8629 67.1371,150 150,150 82.86291,0 150,-67.1371 150,-150 0,-82.86291 -67.13709,-150 -150,-150 z m 31.87501,56.25 c 5.32257,-9.19355 17.11693,-12.39919 26.31048,-7.07662 9.25404,5.32259 12.39919,17.11694 7.07661,26.37097 -5.32258,9.19355 -17.11693,12.3992 -26.31049,7.07661 -9.25402,-5.38306 -12.39919,-17.17742 -7.0766,-26.37096 z m -129.0121,113.04436 c -10.64516,0 -19.29436,-8.6492 -19.29436,-19.29436 0,-10.64517 8.6492,-19.29436 19.29436,-19.29436 10.64516,0 19.29435,8.64919 19.29435,19.29436 0,10.64516 -8.64919,19.29436 -19.29435,19.29436 z m 16.99596,1.875 c 13.48791,-10.82662 13.54839,-31.39114 0,-42.27823 5.20162,-19.83871 17.60081,-36.71371 34.17339,-47.84274 L 218.36694,205 c -31.1492,21.95564 -31.1492,68.04435 0,90 l -14.33468,23.95161 c -16.57258,-11.06855 -28.91129,-28.00403 -34.17339,-47.78225 z m 138.32662,79.65725 c -9.25404,5.32258 -20.98791,2.17742 -26.31048,-7.07661 -5.32259,-9.25403 -2.17742,-21.04839 7.0766,-26.37097 9.19356,-5.32258 20.98791,-2.17742 26.31049,7.07661 5.32258,9.25403 2.17743,21.04839 -7.07661,26.37097 z m 0.18144,-42.03629 c -16.14918,-6.22984 -33.93144,3.99194 -36.59273,21.16935 -3.14517,0.84678 -29.57661,8.6492 -58.48791,-5.68548 l 13.60887,-24.375 c 34.47582,16.02823 74.6371,-7.07661 77.96372,-45 l 27.88306,0.42339 c -1.39113,20.86693 -10.46371,39.61693 -24.37501,53.46774 z m -3.56854,-63.68951 c -3.26613,-37.50001 -43.125,-61.20968 -77.96371,-45.00001 l -13.60887,-24.37499 c 28.97178,-14.33468 55.34274,-6.53226 58.4879,-5.68549 2.6613,17.11693 20.44355,27.39919 36.59275,21.16936 13.97177,13.8508 22.98387,32.6008 24.31451,53.52822 z"
id="path851"
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.604839;stroke-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
aria-hidden="true"
focusable="false"
data-prefix="fab"
data-icon="windows"
class="svg-inline--fa fa-windows fa-w-14"
role="img"
viewBox="0 0 500 500"
version="1.1"
id="svg891"
width="500"
height="500">
<metadata
id="metadata897">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs895" />
<rect
style="fill:#0174d1;fill-opacity:1;stroke-width:0;stroke-linecap:round;stroke-linejoin:round"
id="rect1462"
width="500"
height="500"
x="0"
y="0" />
<path
fill="#ffffff"
d="M 100,141.31696 222.94643,124.37501 V 243.16964 H 100 Z m 0,217.36608 122.94643,16.94197 V 258.30358 H 100 Z m 136.47322,18.75 L 400,400 V 258.30358 H 236.47322 Z m 0,-254.86607 V 243.16964 H 400 V 100 Z"
id="path889"
style="fill:#ffffff;fill-opacity:1;stroke-width:0.669643" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,129 @@
/* builds the class representing the LINBO configuration
Copyright (C) 2007 Klaus Knopper <knopper@knopper.net>
Copyright (C) 2008 Martin Oehler <oehler@knopper.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "image_description.hh"
globals::globals():roottimeout(120) {
autopartition = 0;
autoinitcache = 0;
backgroundfontcolor = "black";
consolefontcolorstdout = "white";
consolefontcolorstderr = "red";
downloadtype = "rsync";
autoformat = 0;
}
globals::~globals() {}
const QString& globals::get_server() const { return server; }
const QString& globals::get_cache() const { return cache; }
const QString& globals::get_hostgroup() const { return hostgroup; }
const unsigned int& globals::get_roottimeout() const { return roottimeout; }
const bool& globals::get_autopartition() { return autopartition; };
const bool& globals::get_autoinitcache() { return autoinitcache; };
const QString& globals::get_backgroundfontcolor() { return backgroundfontcolor; };
const QString& globals::get_consolefontcolorstdout() { return consolefontcolorstdout; };
const QString& globals::get_consolefontcolorstderr() { return consolefontcolorstderr; };
const QString& globals::get_downloadtype() { return downloadtype; };
const bool& globals::get_autoformat() { return autoformat; };
void globals::set_server( const QString& new_server ) { server = new_server; }
void globals::set_cache( const QString& new_cache ) { cache = new_cache; }
void globals::set_hostgroup( const QString& new_hostgroup ) { hostgroup = new_hostgroup; }
void globals::set_roottimeout( const unsigned int& new_roottimeout ) { roottimeout = new_roottimeout; }
void globals::set_autopartition( const bool& new_autopartition ) { autopartition = new_autopartition; };
void globals::set_autoinitcache( const bool& new_autoinitcache ) { autoinitcache = new_autoinitcache; };
void globals::set_backgroundfontcolor( const QString& new_backgroundfontcolor ) { backgroundfontcolor = new_backgroundfontcolor; };
void globals::set_consolefontcolorstdout( const QString& new_consolefontcolorstdout ) { consolefontcolorstdout = new_consolefontcolorstdout; };
void globals::set_consolefontcolorstderr( const QString& new_consolefontcolorstderr ) { consolefontcolorstderr = new_consolefontcolorstderr; };
void globals::set_downloadtype( const QString& new_downloadtype ) { downloadtype = new_downloadtype; };
void globals::set_autoformat( const bool& new_autoformat ) { autoformat = new_autoformat; };
diskpartition::diskpartition() {}
diskpartition::~diskpartition() {}
const QString& diskpartition::get_dev() const { return dev; }
const QString& diskpartition::get_id() const { return id; }
const QString& diskpartition::get_fstype() const { return fstype; }
const unsigned int& diskpartition::get_size() const { return size; }
const bool& diskpartition::get_bootable() const { return bootable; }
void diskpartition::set_dev( const QString& new_dev ) { dev = new_dev; }
void diskpartition::set_id( const QString& new_id ) { id = new_id; }
void diskpartition::set_fstype( const QString& new_fstype ) { fstype = new_fstype; }
void diskpartition::set_size( const unsigned int& new_size ) { size = new_size; }
void diskpartition::set_bootable( const bool& new_bootable ) { bootable = new_bootable; }
image_item::image_item() { autostart = false; autostarttimeout = 0; hidden = false; defaultaction = QString("sync"); }
image_item::~image_item() {}
const QString& image_item::get_version() const { return version; }
const QString& image_item::get_description() const { return description; }
const QString& image_item::get_image() const { return image; }
const QString& image_item::get_kernel() const { return kernel; }
const QString& image_item::get_initrd() const { return initrd; }
const QString& image_item::get_append() const { return append; }
const bool& image_item::get_syncbutton() const { return syncbutton; }
const bool& image_item::get_startbutton() const { return startbutton; }
const bool& image_item::get_newbutton() const { return newbutton; }
const bool& image_item::get_autostart() const { return autostart; }
const int& image_item::get_autostarttimeout() const { return autostarttimeout; }
const QString& image_item::get_defaultaction() const { return defaultaction; }
const bool& image_item::get_hidden() const { return hidden; }
void image_item::set_version( const QString& new_version ) { version = new_version; }
void image_item::set_description( const QString& new_description ) { description = new_description; }
void image_item::set_image( const QString& new_image ) { image = new_image; }
void image_item::set_kernel( const QString& new_kernel ) { kernel = new_kernel; }
void image_item::set_initrd( const QString& new_initrd ) { initrd = new_initrd; }
void image_item::set_append( const QString& new_append ) { append = new_append; }
void image_item::set_syncbutton( const bool& new_syncbutton ) { syncbutton = new_syncbutton; }
void image_item::set_startbutton( const bool& new_startbutton ) { startbutton = new_startbutton; }
void image_item::set_newbutton( const bool& new_newbutton ) { newbutton = new_newbutton; }
void image_item::set_autostart( const bool& new_autostart ) { autostart = new_autostart; }
void image_item::set_autostarttimeout( const int& new_autostarttimeout ) { autostarttimeout = new_autostarttimeout; }
void image_item::set_defaultaction( const QString& new_defaultaction ) { defaultaction = new_defaultaction; }
void image_item::set_hidden( const bool& new_hidden ) { hidden = new_hidden; }
os_item::os_item() {
image_history.clear();
iconname = QString("defaulticon.png");
}
os_item::~os_item() { /* nothing to do */ }
const QString& os_item::get_name() const { return name; }
const QString& os_item::get_baseimage() const { return baseimage; }
const QString& os_item::get_boot() const { return boot; }
const QString& os_item::get_root() const { return root; }
const QString& os_item::get_iconname() const { return iconname; }
void os_item::set_name( const QString& new_name ) { name = new_name; }
void os_item::set_baseimage( const QString& new_baseimage ) { baseimage = new_baseimage; }
void os_item::set_boot( const QString& new_boot ) { boot = new_boot; }
void os_item::set_root( const QString& new_root ) { root = new_root; }
void os_item::set_iconname( const QString& new_iconname ) { iconname = new_iconname; }
void os_item::add_history_entry( image_item& ie ) { image_history.push_back( ie ); }
// Return the first image in image_history where "start" is enabled.
unsigned int os_item::find_current_image() const {
for(unsigned int i = 0; i < image_history.size(); i++) {
if(image_history[i].get_startbutton()) return i;
}
return 0;
}

View File

@ -0,0 +1,114 @@
#include "linboConsoleImpl.hh"
#include "linboProgressImpl.hh"
#include "linboGUIImpl.hh"
#include <q3progressbar.h>
#include <qapplication.h>
#include <QtGui>
#include <QByteArray>
#include "linboPushButton.hh"
linboConsoleImpl::linboConsoleImpl( QWidget* parent ) : linboDialog()
{
Ui_linboConsole::setupUi((QDialog*)this);
mysh = new QProcess( this );
mysh->setReadChannelMode(QProcess::MergedChannels);
connect (mysh, SIGNAL(readyReadStandardOutput()),
this, SLOT(showOutput()));
// new shell handling - use sh in interactive mode
mysh->start("sh", QStringList() << "-i");
if( parent )
myParent = parent;
// connect(input,SIGNAL(returnPressed()),this,SLOT(postcmd()));
connect(input,SIGNAL(returnPressed()),this,SLOT(execute()));
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
logConsole = new linboLogConsole(0);
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the upper left of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboConsoleImpl::~linboConsoleImpl()
{
}
void linboConsoleImpl::showOutput() {
QByteArray bytes = mysh->readAllStandardOutput();
QStringList lines = QString::fromUtf8(bytes).split("\n");
foreach (QString line, lines) {
output->append(line);
}
}
void linboConsoleImpl::execute() {
QString cmdStr = input->text() + "\n";
input->setText("");
output->append(cmdStr);
QByteArray bytes = cmdStr.toUtf8(); /* 8-bit Unicode Transformation Format
*/
mysh->write(bytes); /* Send the data into the stdin stream
of the bash child process */
}
void linboConsoleImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboConsoleImpl::precmd() {
// nothing to do
}
void linboConsoleImpl::postcmd() {
// nothing to do
}
void linboConsoleImpl::setMainApp( QWidget* newMainApp ) {
if ( newMainApp ) {
myMainApp = newMainApp;
}
}
void linboConsoleImpl::setCommand(const QStringList& arglist)
{
myCommand = QStringList(arglist); // Create local copy
}
QStringList linboConsoleImpl::getCommand()
{
return QStringList(myCommand);
}
void linboConsoleImpl::readFromStdout()
{
// nothing to do
}
void linboConsoleImpl::readFromStderr()
{
// nothing to do
}
void linboConsoleImpl::processFinished( int retval,
QProcess::ExitStatus status) {
// nothing to do
static_cast<linboGUIImpl*>(myMainApp)->restoreButtonsState();
}

View File

@ -0,0 +1,79 @@
#include "linboCounterImpl.hh"
#include <qapplication.h>
#include <unistd.h>
#include <QtGui>
linboCounterImpl::linboCounterImpl( QWidget* parent ) : linboDialog()
{
Ui_linboCounter::setupUi((QDialog*)this);
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
if( parent )
myParent = parent;
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the upper left of our screen
int xpos= 10;
int ypos= 10;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
connect( logoutButton, SIGNAL(released()), this, SLOT(hide()) );
}
linboCounterImpl::~linboCounterImpl()
{
// nothing to do
}
void linboCounterImpl::precmd() {
// nothing to do
}
void linboCounterImpl::postcmd() {
// nothing to do
}
void linboCounterImpl::readFromStdout()
{
// nothing to do
}
void linboCounterImpl::setMainApp( QWidget* newMainApp ) {
if ( newMainApp ) {
myMainApp = newMainApp;
}
}
void linboCounterImpl::readFromStderr()
{
// nothing to do
}
QStringList linboCounterImpl::getCommand() {
return myCommand;
}
void linboCounterImpl::setCommand(const QStringList& arglist)
{
// nothing to do
myCommand = arglist;
}
void linboCounterImpl::processFinished( int retval,
QProcess::ExitStatus status) {
// nothing to do
}
void linboCounterImpl::closeEvent(QCloseEvent *event) {
event->accept();
logoutButton->click();
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,368 @@
#include "linboImageSelectorImpl.hh"
#include <unistd.h>
#include <q3progressbar.h>
#include <qapplication.h>
#include <q3buttongroup.h>
#include <q3listbox.h>
#include <QtGui>
#include <qradiobutton.h>
//Added by qt3to4:
#include <Q3TextStream>
#include "linboImageUploadImpl.hh"
#include "linboPushButton.hh"
linboImageSelectorImpl::linboImageSelectorImpl( QWidget* parent ) : linboDialog()
{
Ui_linboImageSelector::setupUi((QDialog*)this);
process = new QProcess( this );
progwindow = new linboProgressImpl(0);
logConsole = new linboLogConsole(0);
if( parent )
myParent = parent;
connect( cancelButton, SIGNAL(pressed()), this, SLOT(close()) );
connect( createButton, SIGNAL(pressed()), this, SLOT(postcmd()) );
connect( createUploadButton, SIGNAL(pressed()), this, SLOT(postcmd2()) );
connect( listBox, SIGNAL(selectionChanged()), this, SLOT(selectionWatcher()) );
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
specialName->setEnabled( false );
imageButtons->setEnabled( false );
upload=false;
neighbourDialog = 0;
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the center of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboImageSelectorImpl::~linboImageSelectorImpl()
{
}
void linboImageSelectorImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboImageSelectorImpl::setMainApp( QWidget* newMainApp ) {
myMainApp = newMainApp;
app = static_cast<linboGUIImpl*>( myMainApp );
}
void linboImageSelectorImpl::precmd() {
// nothing to do
}
void linboImageSelectorImpl::selectionWatcher() {
// without this, this element segfaults linboGUI during constructor
if( this->isHidden() == false ) {
if( listBox->currentText() == "[Neuer Dateiname]" ) {
specialName->setEnabled( true );
imageButtons->setEnabled( true );
infoEditor->clear();
} else {
specialName->setEnabled( false );
imageButtons->setEnabled( false );
myLoadCommand[3] = listBox->currentText() + QString(".desc");
myLoadCommand[4] = QString("/tmp/") + listBox->currentText() + QString(".desc");
mySaveCommand[3] = listBox->currentText() + QString(".desc");
mySaveCommand[4] = QString("/tmp/") + listBox->currentText() + QString(".desc");
arguments.clear();
arguments = myLoadCommand;
#ifdef DEBUG
logConsole->writeStdErr(QString("linboInfoBrowserImpl: myLoadCommand"));
QStringList list = arguments();
QStringList::Iterator it = list.begin();
while( it != list.end() ) {
Console->insert( *it );
++it;
}
logConsole->writeStdErr(QString("*****"));
#endif
QStringList processargs( arguments );
QString command = processargs.takeFirst();
progwindow->startTimer();
process->start( command, processargs );
logConsole->writeStdErr( QString("Executing ") + command + processargs.join(" ") );
// important: give process time to start up
process->waitForStarted();
while (process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
file = new QFile( myLoadCommand[4] );
// read content
if( !file->open( QIODevice::ReadOnly ) ) {
logConsole->writeStdErr( QString("Keine passende Beschreibung im Cache.") );
}
else {
Q3TextStream ts( file );
infoEditor->setText( ts.read() );
file->close();
}
}
}
}
void linboImageSelectorImpl::setLoadCommand( const QStringList& newLoadCommand ) {
myLoadCommand = newLoadCommand;
}
void linboImageSelectorImpl::setSaveCommand( const QStringList& newSaveCommand ) {
mySaveCommand = newSaveCommand;
}
void linboImageSelectorImpl::setBaseImage( const QString& newBase ) {
baseImage = newBase;
}
void linboImageSelectorImpl::postcmd2() {
upload=true;
this->postcmd();
}
void linboImageSelectorImpl::postcmd() {
this->hide();
QString selection, imageName;
selection = listBox->currentText();
linbopushbutton* neighbour = (static_cast<linbopushbutton*>(myParent))->getNeighbour();
neighbourDialog = 0;
neighbourDialog = neighbour->getLinboDialog();
if( selection != "[Neuer Dateiname]" ) {
// user choosed to rebuild an existing image
myCommand[3] = selection;
myCommand[4] = baseImage;
if( ! (infoEditor->text()).isEmpty() )
info = infoEditor->text();
else
info = QString("Beschreibung");
// set image name to selected item
imageName = selection;
} else {
// user choosed to build a new image
if( ! (infoEditor->text()).isEmpty() )
info = infoEditor->text();
else
info = QString("Informationen zu" + specialName->text() +":" );
imageName = specialName->text();
if( !imageName.isEmpty() ) {
if( incrRadioButton->isChecked() ) {
if( ! imageName.contains(".rsync") ) {
imageName += QString(".rsync");
}
myCommand[3] = imageName;
myCommand[4] = baseImage;
listBox->insertItem( imageName, (listBox->count() - 1) );
} else {
if( ! imageName.contains(".cloop") ) {
imageName += QString(".cloop");
}
myCommand[3] = imageName;
myCommand[4] = imageName; // will be ignored
listBox->insertItem( imageName, (listBox->count() - 1) );
}
}
else {
return;
}
// expand save command
mySaveCommand[3] = imageName + QString(".desc");
mySaveCommand[4] = QString("/tmp/") + imageName + QString(".desc");
// this expands our neighbour
if( neighbourDialog ) {
if( ! (static_cast<linboImageUploadImpl*>(neighbourDialog))->listBox->findItem( imageName ) ) {
(static_cast<linboImageUploadImpl*>(neighbourDialog))->listBox->insertItem( imageName );
}
}
}
writeInfo();
if( app ) {
// do something
progwindow->setProcess( process );
// connect( process, SIGNAL(processExited()), progwindow, SLOT(close()));
progwindow->show();
progwindow->raise();
progwindow->setActiveWindow();
progwindow->setUpdatesEnabled( true );
progwindow->setEnabled( true );
app->disableButtons();
arguments.clear();
arguments = myCommand;
QStringList processargs( arguments );
QString command = processargs.takeFirst();
logConsole->writeStdErr( QString("Executing ") + command + processargs.join(" ") );
progwindow->startTimer();
process->start( command, processargs );
// important: give process time to start up
process->waitForStarted();
while( process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
app->restoreButtonsState();
if( upload ) {
if( neighbourDialog != 0 ) {
(static_cast<linboImageUploadImpl*>(neighbourDialog))->listBox->setSelected( (static_cast<linboImageUploadImpl*>(neighbourDialog))->listBox->findItem( imageName ), true );
neighbourDialog->postcmd();
}
else {
logConsole->writeStdErr( QString("Eintrag nicht gefunden") );
}
} else {
logConsole->writeStdErr( QString("Upload nicht ausgewählt") );
}
upload = false;
if ( this->checkShutdown->isChecked() ) {
system("busybox poweroff");
} else if ( this->checkReboot->isChecked() ) {
system("busybox reboot");
}
this->close();
}
void linboImageSelectorImpl::setCommand(const QStringList& arglist)
{
myCommand = arglist;
}
void linboImageSelectorImpl::setCache(const QString& newCache)
{
myCache = newCache;
}
QStringList linboImageSelectorImpl::getCommand()
{
return arguments;
}
void linboImageSelectorImpl::writeInfo() {
file = new QFile( mySaveCommand[4] );
if ( !file->open( QIODevice::WriteOnly ) ) {
logConsole->writeStdErr( QString("Fehler beim Speichern der Beschreibung.") );
} else {
Q3TextStream ts( file );
ts << info;
file->flush();
file->close();
}
arguments.clear();
arguments = mySaveCommand;
QStringList processargs( arguments );
QString command = processargs.takeFirst();
progwindow->startTimer();
process->start( command, processargs );
// important: give process time to start up
process->waitForStarted();
while (process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
void linboImageSelectorImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboImageSelectorImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboImageSelectorImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
if( progwindow ) {
progwindow->close();
}
}

View File

@ -0,0 +1,154 @@
#include "linboImageUploadImpl.hh"
#include <unistd.h>
#include <q3progressbar.h>
#include <qapplication.h>
#include <q3listbox.h>
#include <QtGui>
#include "linboPushButton.hh"
#include "linboYesNoImpl.hh"
linboImageUploadImpl::linboImageUploadImpl( QWidget* parent ) : linboDialog()
{
Ui_linboImageUpload::setupUi((QDialog*)this);
process = new QProcess( this );
if( parent )
myParent = parent;
connect( cancelButton, SIGNAL(pressed()), this, SLOT(close()) );
connect( okButton, SIGNAL(pressed()), this, SLOT(postcmd()) );
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
progwindow = new linboProgressImpl(0);
logConsole = new linboLogConsole(0);
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the center of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboImageUploadImpl::~linboImageUploadImpl()
{
}
void linboImageUploadImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboImageUploadImpl::setMainApp( QWidget* newMainApp ) {
myMainApp = newMainApp;
}
void linboImageUploadImpl::precmd() {
// nothing to do
}
void linboImageUploadImpl::postcmd() {
app = static_cast<linboGUIImpl*>( myMainApp );
this->hide();
arguments[6] = listBox->currentText();
if( app ) {
// do something
progwindow->setProcess( process );
// connect( process, SIGNAL(processExited()), progwindow, SLOT(close()));
progwindow->show();
progwindow->raise();
progwindow->setActiveWindow();
progwindow->setUpdatesEnabled( true );
progwindow->setEnabled( true );
app->disableButtons();
QStringList processargs( arguments );
QString command = processargs.takeFirst();
logConsole->writeStdErr( QString("Executing ") + command + processargs.join(" ") );
progwindow->startTimer();
process->start( command, processargs );
while( process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
if ( this->checkShutdown->isChecked() ) {
system("busybox poweroff");
} else if ( this->checkReboot->isChecked() ) {
system("busybox reboot");
}
this->close();
}
void linboImageUploadImpl::setCommand(const QStringList& arglist)
{
arguments = arglist;
}
QStringList linboImageUploadImpl::getCommand()
{
return arguments;
}
void linboImageUploadImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboImageUploadImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboImageUploadImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
if( progwindow ) {
progwindow->close();
}
}

View File

@ -0,0 +1,195 @@
#include "linboInfoBrowserImpl.hh"
#include <unistd.h>
#include <qapplication.h>
#include <QtGui>
#include <q3textstream.h>
linboInfoBrowserImpl::linboInfoBrowserImpl(QWidget* parent ) : linboDialog()
{
Ui_linboInfoBrowser::setupUi((QDialog*)this);
process = new QProcess( this );
logConsole = new linboLogConsole(0);
if( parent)
myParent = parent;
connect( this->saveButton, SIGNAL(clicked()), this, SLOT(postcmd()));
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint ;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the center of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboInfoBrowserImpl::~linboInfoBrowserImpl()
{
delete process;
}
void linboInfoBrowserImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboInfoBrowserImpl::setMainApp( QWidget* newMainApp ) {
if ( newMainApp ) {
myMainApp = newMainApp;
}
}
void linboInfoBrowserImpl::precmd() {
app = static_cast<linboGUIImpl*>( myMainApp );
if( app ) {
if ( app->isRoot() ) {
saveButton->setText("Speichern");
saveButton->setEnabled( true );
editor->setReadOnly( false );
// connect( this->saveButton, SIGNAL(clicked()), this, SLOT(postcmd()));
} else {
saveButton->setText("Schliessen");
saveButton->setEnabled( true );
editor->setReadOnly( true );
// connect( this->saveButton, SIGNAL(clicked()), this, SLOT(close()));
}
arguments.clear();
arguments = myLoadCommand;
QStringList processargs( arguments );
QString command = processargs.takeFirst();
process->start( command, processargs );
while( process->state() == QProcess::Running ) {
usleep( 1000 );
}
file = new QFile( filepath );
// read content
if( !file->open( QIODevice::ReadOnly ) ) {
logConsole->writeStdErr( QString("Keine passende Beschreibung im Cache.") );
}
else {
Q3TextStream ts( file );
editor->setText( ts.read() );
file->close();
}
}
}
void linboInfoBrowserImpl::postcmd() {
if( app ) {
if ( app->isRoot() ) {
if ( !file->open( QIODevice::WriteOnly ) ) {
logConsole->writeStdErr( QString("Fehler beim Speichern der Beschreibung.") );
}
else {
Q3TextStream ts( file );
ts << editor->text();
file->flush();
file->close();
arguments.clear();
arguments = mySaveCommand;
QStringList processargs( arguments );
QString command = processargs.takeFirst();
process->start( command, processargs );
while( process->state() == QProcess::Running ) {
usleep( 1000 );
}
arguments.clear();
arguments = myUploadCommand;
processargs.clear();
processargs = arguments;
command = processargs.takeFirst();
process->start( command, processargs );
while( process->state() == QProcess::Running ) {
usleep( 1000 );
}
}
}
this->close();
}
}
void linboInfoBrowserImpl::setCommand( const QStringList& newArguments ) {
myUploadCommand = newArguments;
}
void linboInfoBrowserImpl::setUploadCommand( const QStringList& newUploadCommand ) {
myUploadCommand = newUploadCommand;
}
void linboInfoBrowserImpl::setLoadCommand( const QStringList& newLoadCommand ) {
myLoadCommand = newLoadCommand;
}
void linboInfoBrowserImpl::setSaveCommand( const QStringList& newSaveCommand ) {
mySaveCommand = newSaveCommand;
}
QStringList linboInfoBrowserImpl::getCommand() {
// not needed here
return arguments;
}
void linboInfoBrowserImpl::setFilePath( const QString& newFilepath ) {
filepath = newFilepath;
}
void linboInfoBrowserImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboInfoBrowserImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboInfoBrowserImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
}

View File

@ -0,0 +1,176 @@
#include "linboInputBoxImpl.hh"
#include <unistd.h>
#include <q3progressbar.h>
#include <qapplication.h>
#include <QtGui>
#include "linboPushButton.hh"
#include "linboYesNoImpl.hh"
linboInputBoxImpl::linboInputBoxImpl( QWidget* parent ) : linboDialog()
{
Ui_linboInputBox::setupUi((QDialog*)this);
process = new QProcess( this );
if( parent )
myParent = parent;
// nothing to do
connect(input,SIGNAL(returnPressed()),this,SLOT(postcmd()));
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
progwindow = new linboProgressImpl(0);
logConsole = new linboLogConsole(0);
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint ;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the center of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboInputBoxImpl::~linboInputBoxImpl()
{
}
void linboInputBoxImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboInputBoxImpl::setMainApp( QWidget* newMainApp ) {
myMainApp = newMainApp;
}
void linboInputBoxImpl::precmd() {
// nothing to do
}
void linboInputBoxImpl::postcmd() {
this->hide();
if( !input->text().isEmpty() ) {
// change image name
QStringList tmp;
linbopushbutton* neighbour = (static_cast<linbopushbutton*>(this->parentWidget()))->getNeighbour();
if( linboDialog* neighbourDialog = neighbour->getLinboDialog() ) {
// in this case, we have a sub-dialogue
tmp = neighbourDialog->getCommand();
if( tmp[1] == QString("upload") ) {
// change file name
tmp[6] = input->text();
neighbourDialog->setCommand( tmp );
if( dynamic_cast<linboYesNoImpl*>( neighbour->getQDialog() ) ) {
// we know now, the neighbour is an button with a yesno-box
static_cast<linboYesNoImpl*>((QWidget*)neighbour->getQDialog())->question->setText("Image " + input->text() + " hochladen?");
}
}
}
// change the command of the main button
tmp = neighbour->getCommand();
if( tmp[1] == QString("upload") ) {
// change upload password
tmp[6] = input->text();
neighbour->setCommand( tmp );
}
}
if( !input->text().isEmpty() && myMainApp ) {
app = static_cast<linboGUIImpl*>( myMainApp );
myCommand[3]=input->text();
if( app ) {
// do something
progwindow->setProcess( process );
// connect( process, SIGNAL(processExited()), progwindow, SLOT(close()));
progwindow->show();
progwindow->raise();
progwindow->setActiveWindow();
progwindow->setUpdatesEnabled( true );
progwindow->setEnabled( true );
app->disableButtons();
arguments = myCommand;
QStringList processargs( arguments );
QString command = processargs.takeFirst();
process->start( command, processargs );
while( process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
}
this->close();
}
void linboInputBoxImpl::setCommand(const QStringList& arglist)
{
myCommand = QStringList(arglist); // Create local copy
}
QStringList linboInputBoxImpl::getCommand()
{
return QStringList(myCommand);
}
void linboInputBoxImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboInputBoxImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboInputBoxImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
if( progwindow ) {
progwindow->close();
}
}

View File

@ -0,0 +1,128 @@
/* holds the environmental configuration of our console
Copyright (C) 2010 Martin Oehler <oehler@knopper.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <QtGui>
#include <QTextCursor>
#include "linboLogConsole.hh"
linboLogConsole::linboLogConsole( QWidget* parent,
const char* name )
{
consolefontcolorstdout = QColor( QString("white") );
consolefontcolorstderr = QColor( QString("red") );
Console = 0;
}
linboLogConsole::~linboLogConsole() {
}
void linboLogConsole::setLinboLogConsole( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* new_console ) {
consolefontcolorstdout = QColor( new_consolefontcolorstdout );
consolefontcolorstderr = QColor( new_consolefontcolorstderr );
if ( new_console != 0 )
Console = new_console;
}
void linboLogConsole::writeStdOut( const QByteArray& stdoutdata ) {
if ( Console != 0 ) {
Console->setColor( consolefontcolorstdout );
Console->insert( stdoutdata );
Console->moveCursor(QTextCursor::End);
Console->ensureCursorVisible();
}
}
void linboLogConsole::writeStdOut( const QString& stdoutdata ) {
if ( Console != 0 ) {
Console->setColor( consolefontcolorstdout );
Console->insert( stdoutdata );
Console->insert(QString(QChar::LineSeparator));
Console->moveCursor(QTextCursor::End);
Console->ensureCursorVisible();
}
}
void linboLogConsole::writeStdErr( const QByteArray& stderrdata ) {
if ( Console != 0 ) {
Console->setColor( consolefontcolorstderr );
Console->insert( stderrdata );
Console->setColor( consolefontcolorstdout );
Console->moveCursor(QTextCursor::End);
Console->ensureCursorVisible();
}
}
void linboLogConsole::writeStdErr( const QString& stderrdata ) {
if ( Console != 0 ) {
Console->setColor( consolefontcolorstderr );
Console->insert( stderrdata );
Console->insert(QString(QChar::LineSeparator));
Console->setColor( consolefontcolorstdout );
Console->moveCursor(QTextCursor::End);
Console->ensureCursorVisible();
}
}
void linboLogConsole::writeResult( const int& processRetval,
QProcess::ExitStatus status,
const int& errorstatus ) {
if ( Console != 0 ) {
Console->setColor( consolefontcolorstderr );
Console->insert( QString("Command executed with exit value ") + QString::number( processRetval ) );
if( status == 0)
Console->insert( QString("Exit status: ") + QString("The process exited normally.") );
else
Console->insert( QString("Exit status: ") + QString("The process crashed.") );
if( status == 1 ) {
switch ( errorstatus ) {
case 0: Console->insert( QString("The process failed to start. Either the invoked program is missing, or you may have insufficient permissions to invoke the program.") ); break;
case 1: Console->insert( QString("The process crashed some time after starting successfully.") ); break;
case 2: Console->insert( QString("The last waitFor...() function timed out.") ); break;
case 3: Console->insert( QString("An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel.") ); break;
case 4: Console->insert( QString("An error occurred when attempting to read from the process. For example, the process may not be running.") ); break;
case 5: Console->insert( QString("An unknown error occurred.") ); break;
}
}
Console->insert(QString(QChar::LineSeparator));
Console->setColor( consolefontcolorstdout );
Console->moveCursor(QTextCursor::End);
Console->ensureCursorVisible();
}
}

View File

@ -0,0 +1,90 @@
#include "linboMsgImpl.hh"
#include <qapplication.h>
#include <unistd.h>
linboMsgImpl::linboMsgImpl( QWidget* parent ) : linboDialog()
{
Ui_linboMsg::setupUi((QDialog*)this);
process = new QProcess();
if( parent )
myParent = parent;
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
}
linboMsgImpl::~linboMsgImpl()
{
}
void linboMsgImpl::precmd() {
// nothing to do
}
void linboMsgImpl::postcmd() {
// nothing to do
}
void linboMsgImpl::execute() {
QStringList processargs( arguments );
QString command = processargs.takeFirst();
process->start( command, processargs );
process->waitForStarted();
// wait until the process is finished
while(process->state() == QProcess::Running ) {
this->update();
qApp->processEvents();
}
}
void linboMsgImpl::setMainApp( QWidget* newMainApp ) {
if ( newMainApp ) {
myMainApp = newMainApp;
}
}
QStringList linboMsgImpl::getCommand() {
return arguments;
}
void linboMsgImpl::setCommand(const QStringList& arglist)
{
arguments = arglist;
}
void linboMsgImpl::readFromStdout()
{
message->setText( process->readAllStandardOutput() );
this->update();
}
void linboMsgImpl::readFromStderr()
{
// ignore this
// message->setText( process->readAllStandardError() );
}
void linboMsgImpl::processFinished( int retval,
QProcess::ExitStatus status) {
// let user read the process results
this->close();
}

View File

@ -0,0 +1,184 @@
#include "linboMulticastBoxImpl.hh"
#include <unistd.h>
#include "linboProgressImpl.hh"
#include <q3progressbar.h>
#include <qapplication.h>
#include <qradiobutton.h>
#include "linboPushButton.hh"
#include <QtGui>
#include <iostream>
linboMulticastBoxImpl::linboMulticastBoxImpl( QWidget* parent ) : linboDialog()
{
Ui_linboMulticastBox::setupUi((QDialog*)this);
process = new QProcess( this );
if( parent )
myParent = parent;
// nothing to do
connect(okButton,SIGNAL(pressed()),this,SLOT(postcmd()));
connect(cancelButton,SIGNAL(clicked()),this,SLOT(close()));
progwindow = new linboProgressImpl(0);
logConsole = new linboLogConsole(0);
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the center of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboMulticastBoxImpl::~linboMulticastBoxImpl()
{
}
void linboMulticastBoxImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboMulticastBoxImpl::setMainApp( QWidget* newMainApp ) {
if ( newMainApp ) {
myMainApp = newMainApp;
}
}
void linboMulticastBoxImpl::precmd() {
// nothing to do
}
void linboMulticastBoxImpl::postcmd() {
this->hide();
app = static_cast<linboGUIImpl*>( myMainApp );
arguments.clear();
if ( this->rsyncButton->isChecked() )
arguments = myRsyncCommand;
if ( this->multicastButton->isChecked() )
arguments = myMulticastCommand;
if ( this->torrentButton->isChecked() )
arguments = myBittorrentCommand;
if ( this->checkFormat->isChecked() ) {
arguments[1] = QString("initcache_format");
}
if( app ) {
// do something
// connect( process, SIGNAL(processExited()), progwindow, SLOT(close()));
progwindow->setProcess( process );
progwindow->show();
progwindow->raise();
progwindow->setActiveWindow();
progwindow->setUpdatesEnabled( true );
progwindow->setEnabled( true );
app->disableButtons();
QStringList processargs( arguments );
QString command = processargs.takeFirst();
logConsole->writeStdErr( QString("Executing ") + command + QString(" ") + processargs.join(" ") );
progwindow->startTimer();
process->start( command, processargs );
process->waitForStarted();
while( process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
this->close();
}
void linboMulticastBoxImpl::setRsyncCommand(const QStringList& arglist)
{
myRsyncCommand = arglist; // Create local copy
}
void linboMulticastBoxImpl::setMulticastCommand(const QStringList& arglist)
{
myMulticastCommand = arglist; // Create local copy
}
void linboMulticastBoxImpl::setBittorrentCommand(const QStringList& arglist)
{
myBittorrentCommand = arglist; // Create local copy
}
void linboMulticastBoxImpl::setCommand(const QStringList& arglist)
{
// no sense setting this here
arguments = arglist;
}
QStringList linboMulticastBoxImpl::getCommand()
{
return myCommand;
}
void linboMulticastBoxImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboMulticastBoxImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboMulticastBoxImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
if( progwindow ) {
progwindow->close();
}
}

View File

@ -0,0 +1,215 @@
#include "linboPasswordBoxImpl.hh"
#include <q3process.h>
#include <iostream>
#include <qmovie.h>
#include <qpoint.h>
#include <qlcdnumber.h>
#include <qapplication.h>
#include <QtGui>
#include <qcheckbox.h>
linboPasswordBoxImpl::linboPasswordBoxImpl( QDialog* parent ) : linboDialog()
{
Ui_linboPasswordBox::setupUi((QDialog*)this);
connect(passwordInput,SIGNAL(returnPressed()),this,SLOT(postcmd()));
process=new QProcess( this );
if(parent)
myParent = parent;
myTimer = new QTimer(this);
myCounter = new linboCounterImpl(this);
logConsole = new linboLogConsole(0);
connect( myTimer, SIGNAL(timeout()), this, SLOT(processTimeout()) );
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the upper left of our screen
int xpos=10;
int ypos=10;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboPasswordBoxImpl::~linboPasswordBoxImpl()
{
delete myTimer;
delete process;
delete myCounter;
}
void linboPasswordBoxImpl::precmd() {
// nothing to do
}
void linboPasswordBoxImpl::postcmd() {
this->hide();
app = static_cast<linboGUIImpl*>( myMainApp );
if( app ) {
// build authentication command
arguments.clear();
arguments.append("linbo_cmd");
arguments.append( "authenticate" );
arguments.append( app->config.get_server() );
arguments.append( "linbo" );
arguments.append( passwordInput->text() );
arguments.append( "linbo" );
QStringList processargs( arguments );
QString command = processargs.takeFirst();
process->start( command, processargs );
while( !process->waitForFinished(10000) ) {
};
// Console->insert( QString("Test linboPasswordBoxImpl exitCode() == ") + QString::number( process->exitCode() ) );
if ( process->exitCode() == 0 ) {
if( app ) {
// set password in all buttons
QStringList tmp;
for( unsigned int i = 0; i < app->p_buttons.size(); i++ )
{
linboDialog* tmpDialog = app->p_buttons[i]->getLinboDialog();
if( tmpDialog ) {
// in this case, we have a sub-dialogue
tmp = tmpDialog->getCommand();
// fear the segmentation fault!
// fifth argument is password
if( tmp.size() > 4 ) {
if( tmp[1] == QString("upload") ||
tmp[1] == QString("register") ) {
// change upload password
tmp[4] = passwordInput->text();
tmpDialog->setCommand( tmp );
}
}
}
// this is for the case we have no associated linbo dialog
if( app->p_buttons[i] ) {
tmp.clear();
tmp = app->p_buttons[i]->getCommand();
// fifth argument is password
if( tmp.size() > 4 ) {
if( tmp[1] == QString("upload") ||
tmp[1] == QString("register") ) {
// change upload password
tmp[4] = passwordInput->text();
app->p_buttons[i]->setCommand( tmp );
}
}
}
}
app->enableButtons();
app->showImagingTab();
myTimer->stop();
myTimer->start( 1000, FALSE );
currentTimeout = app->config.get_roottimeout();
myCounter->counter->display( currentTimeout );
connect( myCounter->logoutButton, SIGNAL(pressed()), app, SLOT(resetButtons()) );
connect( myCounter->logoutButton, SIGNAL(clicked()), myTimer, SLOT(stop()) );
myCounter->show();
myCounter->raise();
myCounter->move( QPoint( 5, 5 ) );
}
}
}
passwordInput->clear();
this->close();
}
void linboPasswordBoxImpl::setCommand(const QStringList& arglist)
{
arguments = arglist;
}
QStringList linboPasswordBoxImpl::getCommand()
{
return arguments;
}
void linboPasswordBoxImpl::setMainApp( QWidget* newMainApp ) {
if ( newMainApp ) {
myMainApp = newMainApp;
}
}
void linboPasswordBoxImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboPasswordBoxImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboPasswordBoxImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboPasswordBoxImpl::processTimeout() {
if( !myCounter->timeoutCheck->isChecked() ) {
// do nothing but dont stop timer
}
else {
if( currentTimeout > 0 ) {
currentTimeout--;
myCounter->counter->display( currentTimeout );
}
else {
app->resetButtons();
myCounter->close();
}
}
}
void linboPasswordBoxImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
// app->restoreButtonsState();
}

View File

@ -0,0 +1,95 @@
#include "linboProgressImpl.hh"
#include <sys/types.h>
#include <signal.h>
#include <stdlib.h>
#include <QtGui>
#include <QRect>
#include <qapplication.h>
// #include <qtimer.h>
linboProgressImpl::linboProgressImpl( QWidget* parent )
{
Ui_linboProgress::setupUi((QDialog*)this);
myTimer = new QTimer(this);
connect( cancelButton,SIGNAL(clicked()),this,SLOT(killLinboCmd()) );
connect( myTimer, SIGNAL(timeout()), this, SLOT(processTimer()) );
logConsole = new linboLogConsole(0);
if( parent )
myParent = parent;
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
progressBar->setMinimum( 0 );
progressBar->setMaximum( 100 );
}
linboProgressImpl::~linboProgressImpl() {
// nothing to do
}
void linboProgressImpl::setProcess( QProcess* newProcess ) {
if( newProcess != 0 ) {
myProcess = newProcess;
}
}
void linboProgressImpl::killLinboCmd() {
myProcess->terminate();
myTimer->stop();
QTimer::singleShot( 10000, myProcess, SLOT( close() ) );
}
void linboProgressImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboProgressImpl::startTimer() {
time = 0;
myTimer->stop();
myTimer->start( 1000, FALSE );
}
void linboProgressImpl::processTimer() {
time++;
minutes = (int)(time / 60);
seconds = (int)(time % 60);
if( minutes < 10 )
minutestr = QString("0") + QString::number( minutes );
else
minutestr = QString::number( minutes );
if( seconds < 10 )
secondstr = QString("0") + QString::number( seconds );
else
secondstr = QString::number( seconds );
processTime->setText( minutestr + QString(":") + secondstr );
}
void linboProgressImpl::processFinished( int retval,
QProcess::ExitStatus status) {
myTimer->stop();
this->close();
}

View File

@ -0,0 +1,202 @@
#include <stdlib.h>
#include <unistd.h>
#include <q3progressbar.h>
#include <iostream>
#include <qapplication.h>
#include "linboPushButton.hh"
linbopushbutton::linbopushbutton( QWidget* parent,
const char* name ) : QPushButton( parent,
name )
{
connect(this, SIGNAL(clicked()), this, SLOT(lclicked()));
// myprocess = new Q3Process( this )
process = new QProcess( this );
progwindow = new linboProgressImpl(0);
logConsole = new linboLogConsole(0);
myQDialog = 0;
myLinboDialog = 0;
neighbour = 0;
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
timer = new QTimer( this );
progress = true;
}
linbopushbutton::~linbopushbutton()
{
// nothing to do
}
void linbopushbutton::setProgress( const bool& newProgress )
{
progress = newProgress;
}
void linbopushbutton::setCommand(const QStringList& arglist )
{
arguments.clear();
//process->clearArguments();
//process->setArguments( arglist );
arguments = arglist;
}
void linbopushbutton::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linbopushbutton::setLinboDialog( linboDialog* newDialog )
{
myLinboDialog = newDialog;
}
void linbopushbutton::setQDialog( QDialog* newDialog )
{
myQDialog = newDialog;
}
void linbopushbutton::lclicked()
{
app = static_cast<linboGUIImpl*>( myMainApp );
// disable cancel button for non-root users
if ( !app->isRoot() )
progwindow->cancelButton->hide();
if ( myLinboDialog != 0 &&
myQDialog != 0 )
{
// run preparations
myLinboDialog->precmd();
// show dialog
//myMainApp->setEnabled( false );
myQDialog->show();
myQDialog->raise();
myQDialog->setActiveWindow();
myQDialog->setEnabled( true );
}
// do we need the progress bar?
if ( progress ) {
// connect( process, SIGNAL(processExited()), progwindow, SLOT(close()));
progwindow->setProcess( process );
progwindow->show();
progwindow->raise();
// progwindow->setTextBrowser( Console );
progwindow->setActiveWindow();
progwindow->setUpdatesEnabled( true );
progwindow->setEnabled( true );
}
// wait for progress bar
usleep( 10000 );
// start the command
if( arguments.size() > 0 )
{
// disable buttons - only if a process runs
app->disableButtons();
// Console->setColor( QColor( QString("red") ) );
// Console->insert( QString("Executing ") + arguments.join(" ") );
// Console->setColor( QColor( QString("black") ) );
QStringList processargs( arguments );
QString command = processargs.takeFirst();
logConsole->writeStdErr( QString("Executing ") + command + processargs.join(" ") );
progwindow->startTimer();
process->start( command, processargs );
// important: give process time to start up
process->waitForStarted();
while (process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
}
void linbopushbutton::setMainApp( QWidget* newMainApp ) {
myMainApp = newMainApp;
}
QStringList linbopushbutton::getCommand() {
return arguments;
}
QDialog* linbopushbutton::getQDialog()
{
return myQDialog;
}
linboDialog* linbopushbutton::getLinboDialog() {
return myLinboDialog;
}
void linbopushbutton::setNeighbour( linbopushbutton* newNeighbour ) {
if( newNeighbour )
neighbour = newNeighbour;
}
linbopushbutton* linbopushbutton::getNeighbour() {
return neighbour;
}
void linbopushbutton::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linbopushbutton::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linbopushbutton::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
if( progwindow ) {
progwindow->close();
}
}

View File

@ -0,0 +1,188 @@
#include "linboRegisterBoxImpl.hh"
#include <unistd.h>
#include <q3progressbar.h>
#include <qapplication.h>
#include <QtGui>
#include "linboPushButton.hh"
#include "linboYesNoImpl.hh"
linboRegisterBoxImpl::linboRegisterBoxImpl( QWidget* parent ) : linboDialog()
{
Ui_linboRegisterBox::setupUi((QDialog*)this);
process = new QProcess( this );
progwindow = new linboProgressImpl(0);
logConsole = new linboLogConsole(0);
if( parent )
myParent = parent;
connect(registerButton,SIGNAL(clicked()),this,SLOT(postcmd()));
connect(cancelButton,SIGNAL(clicked()),this,SLOT(close()));
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the center of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboRegisterBoxImpl::~linboRegisterBoxImpl()
{
}
void linboRegisterBoxImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboRegisterBoxImpl::setMainApp( QWidget* newMainApp ) {
myMainApp = newMainApp;
}
void linboRegisterBoxImpl::precmd() {
// Die vorgeschlagenen Daten fuer die Rechneraufnahme lesen und anzeigen
QProcess* preprocess = new QProcess( this );
ifstream newdata;
QString registerData;
QStringList registerDataList;
char line[1024];
QStringList cmdargs( myPreCommand );
QString precommand = cmdargs.takeFirst();
preprocess->start(precommand, cmdargs);
preprocess->waitForFinished();
newdata.open("/tmp/newregister", ios::in);
if (newdata.is_open()) {
newdata.getline(line,1024,'\n');
registerData = QString::fromAscii( line, -1 ).stripWhiteSpace();
newdata.close();
registerDataList = registerData.split(',');
roomName->setText(registerDataList[0]);
clientGroup->setText(registerDataList[1]);
clientName->setText(registerDataList[2]);
ipAddress->setText(registerDataList[3]);
}
}
void linboRegisterBoxImpl::postcmd() {
this->hide();
// here, some further checks are needed
if( !roomName->text().isEmpty() &&
!ipAddress->text().isEmpty() &&
!clientGroup->text().isEmpty() &&
!clientName->text().isEmpty() ) {
// update our command
// room name
myCommand[5] = roomName->text();
// client name
myCommand[6] = clientName->text();
// IP
myCommand[7] = ipAddress->text();
// client group
myCommand[8] = clientGroup->text();
app = static_cast<linboGUIImpl*>( myMainApp );
if( app ) {
// do something
progwindow->setProcess( process );
// connect( process, SIGNAL(processExited()), progwindow, SLOT(close()));
progwindow->show();
progwindow->raise();
progwindow->setActiveWindow();
progwindow->setUpdatesEnabled( true );
progwindow->setEnabled( true );
app->disableButtons();
QStringList processargs( myCommand );
QString command = processargs.takeFirst();
process->start( command, processargs );
process->waitForStarted();
while( process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
app->restoreButtonsState();
}
this->close();
}
void linboRegisterBoxImpl::setCommand(const QStringList& arglist)
{
myCommand = QStringList(arglist); // Create local copy
}
QStringList linboRegisterBoxImpl::getCommand()
{
return QStringList(myCommand);
}
void linboRegisterBoxImpl::setPreCommand(const QStringList& arglist)
{
myPreCommand = QStringList(arglist); // Create local copy
}
QStringList linboRegisterBoxImpl::getPreCommand()
{
return QStringList(myPreCommand);
}
void linboRegisterBoxImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboRegisterBoxImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboRegisterBoxImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
if( progwindow ) {
progwindow->close();
}
}

View File

@ -0,0 +1,141 @@
#include "linboYesNoImpl.hh"
#include <unistd.h>
#include <QtGui>
#include <q3progressbar.h>
#include <qapplication.h>
linboYesNoImpl::linboYesNoImpl( QWidget* parent ) : linboDialog()
{
Ui_linboYesNo::setupUi((QDialog*)this);
process = new QProcess( this );
progwindow = new linboProgressImpl(0);
logConsole = new linboLogConsole(0);
if( parent )
myParent = parent;
connect(YesButton,SIGNAL(clicked()),this,SLOT(postcmd()));
connect(NoButton,SIGNAL(clicked()),this,SLOT(close()));
// connect SLOT for finished process
connect( process, SIGNAL(finished(int, QProcess::ExitStatus) ),
this, SLOT(processFinished(int, QProcess::ExitStatus)) );
// connect stdout and stderr to linbo console
connect( process, SIGNAL(readyReadStandardOutput()),
this, SLOT(readFromStdout()) );
connect( process, SIGNAL(readyReadStandardError()),
this, SLOT(readFromStderr()) );
Qt::WindowFlags flags;
flags = Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::WindowTitleHint;
setWindowFlags( flags );
QRect qRect(QApplication::desktop()->screenGeometry());
// open in the center of our screen
int xpos=qRect.width()/2-this->width()/2;
int ypos=qRect.height()/2-this->height()/2;
this->move(xpos,ypos);
this->setFixedSize( this->width(), this->height() );
}
linboYesNoImpl::~linboYesNoImpl()
{
}
void linboYesNoImpl::precmd() {
// nothing to do
}
void linboYesNoImpl::postcmd() {
this->hide();
app = static_cast<linboGUIImpl*>( myMainApp );
if( app ) {
progwindow->setProcess( process );
progwindow->show();
progwindow->raise();
progwindow->setActiveWindow();
progwindow->setUpdatesEnabled( TRUE );
progwindow->setEnabled( true );
// myMainApp->setEnabled( false );
app->disableButtons();
QStringList processargs( arguments );
QString command = processargs.takeFirst();
logConsole->writeStdErr( QString("Executing ") + command + processargs.join(" ") );
progwindow->startTimer();
process->start( command, processargs );
process->waitForStarted();
while( process->state() == QProcess::Running ) {
for( int i = 0; i <= 100; i++ ) {
usleep(10000);
progwindow->progressBar->setValue(i);
progwindow->update();
qApp->processEvents();
}
}
}
myMainApp->setEnabled( true );
this->close();
}
void linboYesNoImpl::setTextBrowser( const QString& new_consolefontcolorstdout,
const QString& new_consolefontcolorstderr,
QTextEdit* newBrowser )
{
logConsole->setLinboLogConsole( new_consolefontcolorstdout,
new_consolefontcolorstderr,
newBrowser );
}
void linboYesNoImpl::setMainApp( QWidget* newMainApp ) {
myMainApp = newMainApp;
}
void linboYesNoImpl:: setCommand(const QStringList& arglist)
{
arguments = arglist; // Create local copy
}
QStringList linboYesNoImpl::getCommand() {
return arguments;
}
void linboYesNoImpl::readFromStdout()
{
logConsole->writeStdOut( process->readAllStandardOutput() );
}
void linboYesNoImpl::readFromStderr()
{
logConsole->writeStdErr( process->readAllStandardError() );
}
void linboYesNoImpl::processFinished( int retval,
QProcess::ExitStatus status) {
logConsole->writeResult( retval, status, process->error() );
app->restoreButtonsState();
if( progwindow ) {
progwindow->close();
}
}

79
sources/linbogui.cpp Normal file
View File

@ -0,0 +1,79 @@
#include "../headers/linbogui.h"
linboGui::linboGui()
{
// fill whole screen
Qt::WindowFlags flags;
flags = Qt::FramelessWindowHint | Qt::WindowStaysOnBottomHint;
setWindowFlags( flags );
setAttribute( Qt::WA_AlwaysShowToolTips );
this->setGeometry(QApplication::desktop()->screenGeometry());
this->setFixedHeight(QApplication::desktop()->screenGeometry().height());
this->setFixedWidth(QApplication::desktop()->screenGeometry().width());
// black bakground
this->setStyleSheet( "QDialog { background: white }");
linboGUIImpl* legacyGui = new linboGUIImpl(this);
legacyGui->setStyleSheet( "QDialog { background: white }");
//legacyGui->show();
// create the main layout
// OS Buttons
LinboOsSelectButton* osButton = new LinboOsSelectButton(":/svgIcons/ubuntu.svg", this);
osButton->setFixedHeight(250);
osButton->setFixedWidth(250);
osButton->setChecked(true);
LinboOsSelectButton* osButton_1 = new LinboOsSelectButton(":/svgIcons/windows.svg", this);
osButton_1->setFixedHeight(250);
osButton_1->setFixedWidth(250);
QButtonGroup* group = new QButtonGroup();
group->setExclusive(true);
group->addButton(osButton);
group->addButton(osButton_1);
// OS Button Layout
QHBoxLayout* osButtonRow = new QHBoxLayout();
osButtonRow->addWidget(osButton);
osButtonRow->addWidget(osButton_1);
// action buttons
QModernPushButton* defaultActionButton = new QModernPushButton(":/svgIcons/startAction.svg");
defaultActionButton->setFixedHeight(110);
defaultActionButton->setFixedWidth(110);
QModernPushButton* secondActionButton = new QModernPushButton(":/svgIcons/syncAction.svg");
secondActionButton->setFixedHeight(50);
secondActionButton->setFixedWidth(50);
QModernPushButton* thirdActionButton = new QModernPushButton(":/svgIcons/resetAction.svg");
thirdActionButton->setFixedHeight(50);
thirdActionButton->setFixedWidth(50);
QHBoxLayout* actionButtonLayout = new QHBoxLayout();
actionButtonLayout->addItem(new QSpacerItem(10,10, QSizePolicy::Expanding, QSizePolicy::Minimum));
actionButtonLayout->addWidget(secondActionButton);
actionButtonLayout->addWidget(thirdActionButton);
actionButtonLayout->addItem(new QSpacerItem(10,10, QSizePolicy::Expanding, QSizePolicy::Minimum));
// main layout
QVBoxLayout* mainLayout = new QVBoxLayout(this);
mainLayout->addItem(new QSpacerItem(10,10, QSizePolicy::Minimum, QSizePolicy::Expanding));
mainLayout->addLayout(osButtonRow);
mainLayout->addItem(new QSpacerItem(10,10, QSizePolicy::Minimum, QSizePolicy::Expanding));
mainLayout->addWidget(defaultActionButton);
mainLayout->setAlignment(defaultActionButton, Qt::AlignHCenter);
mainLayout->addLayout(actionButtonLayout);
mainLayout->addItem(new QSpacerItem(10,10, QSizePolicy::Minimum, QSizePolicy::Expanding));
}
// prevent closing (eg. by pressing escape key)
void linboGui::done(int r) {
Q_UNUSED(r)
}

View File

@ -0,0 +1,5 @@
#include "linboosselectbutton.h"
LinboOsSelectButton::LinboOsSelectButton(QString icon, QWidget* parent) : QModernPushButton(icon, parent)
{
}

View File

@ -0,0 +1,6 @@
#include "../headers/linbostartpage.h"
linboStartPage::linboStartPage(QWidget *parent) : QWidget(parent)
{
}

60
sources/main.cpp Normal file
View File

@ -0,0 +1,60 @@
// STL-includes
#include <iostream>
#include <qwindowsystem_qws.h>
#include <QWSServer>
#include <qimage.h>
#include <qtimer.h>
// qt
#include <qapplication.h>
#include <QtGui>
#include <QPalette>
#include <QBrush>
#include <QScreen>
#include <QLocale>
#include "linbogui.h"
int main( int argc, char* argv[] )
{
QApplication myapp( argc, argv );
#ifndef TEST_ENV
QWSServer* wsServer = QWSServer::instance();
QImage bgimg( "/icons/linbo_wallpaper.png", "PNG" );
int width = qt_screen->deviceWidth();
int height = qt_screen->deviceHeight();
if ( wsServer ) {
wsServer->setBackground( QBrush( bgimg.scaled( width, height, Qt::IgnoreAspectRatio ) ) );
wsServer->refresh();
}
#endif
linboGui* gui = new linboGui;
gui->show();
// this paints a transparent main widget
//myGUI->setStyleSheet( "QDialog#linboGUI{ background: blue }");
/* myGUI->Console->viewport()->setAutoFillBackground(true);
myGUI->Console->setTextColor( QColor("white") );
QPalette palette; */
// a grey transparent background
// myGUI->Console->setStyleSheet("QTextEdit#Console{ background: transparent }");
#ifdef TEST_ENV
QMainWindow window;
window.setCentralWidget(myGUI);
window.setGeometry(myGUI->geometry());
window.show();
#endif
//QTimer::singleShot( 100, myGUI, SLOT(executeAutostart()) );
return myapp.exec();
}

View File

@ -0,0 +1,62 @@
#include "../headers/qmodernpushbutton.h"
QModernPushButton::QModernPushButton(QString icon, QWidget* parent) : QPushButton(parent)
{
this->setStyleSheet(this->generateStyleSheet());
this->setCheckable(true);
this->svgWidget = new QSvgWidget(this);
this->svgWidget->load(QString(icon));
this->overlayNormalWidget = new QSvgWidget(this->svgWidget);
this->overlayCheckedWidget = new QSvgWidget(this->svgWidget);
this->overlayCheckedWidget->load(QString(":svgIcons/overlayChecked.svg"));
this->overlayCheckedEffect = new QGraphicsOpacityEffect(this);
this->overlayCheckedEffect->setOpacity(0);
this->overlayCheckedWidget->setGraphicsEffect(this->overlayCheckedEffect);
connect(this, SIGNAL(toggled(bool)), this, SLOT(handleToggled(bool)));
}
void QModernPushButton::handleToggled(bool checked) {
int startValue = 1;
if(checked) {
startValue = 0;
}
QPropertyAnimation *animation = new QPropertyAnimation(this->overlayCheckedEffect, "opacity");
animation->setDuration(400);
animation->setStartValue(startValue);
animation->setEndValue(1-startValue);
animation->setEasingCurve(QEasingCurve(QEasingCurve::InOutQuad));
animation->start();
}
QString QModernPushButton::generateStyleSheet() {
return "QPushButton {\n"
" background-color: transparent;\n"
"}\n"
"QPushButton:hover {"
"background-color: lightblue;"
"}"
"QPushButton:active {\n"
" outline: none;"
"}";
}
void QModernPushButton::resizeEvent(QResizeEvent *event) {
this->svgWidget->setGeometry(QRect(0, 0, event->size().width(), event->size().height()));
// make border width match button size
QFile file(":svgIcons/overlayNormal.svg");
file.open(QFile::ReadOnly);
QString overlayNormalString = file.readAll();
overlayNormalString.replace("stroke-width:15px", "stroke-width:" + QString::number(500/event->size().width() * 5) + "px");
//this->overlayNormalWidget->load(overlayNormalString.toUtf8());
this->overlayNormalWidget->setGeometry(QRect(0, 0, event->size().width(), event->size().height()));
this->overlayCheckedWidget->setGeometry(QRect(0, 0, event->size().width(), event->size().height()));
}