summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFabian Schillinger2010-11-09 02:25:21 +0100
committerFabian Schillinger2010-11-09 02:25:21 +0100
commita1be80d76695511f7996f366f2e983db2e96b972 (patch)
tree9f4f40be99cbbad323438a57e485eeb0c604e80c /src
parentfixed typo (diff)
downloadpvs-a1be80d76695511f7996f366f2e983db2e96b972.tar.gz
pvs-a1be80d76695511f7996f366f2e983db2e96b972.tar.xz
pvs-a1be80d76695511f7996f366f2e983db2e96b972.zip
added a list to processesStartDialog:
we can chose some commands from this list to start them or we can add new entries for a later usage modified documentation
Diffstat (limited to 'src')
-rw-r--r--src/gui/processesStartDialog.cpp89
-rw-r--r--src/gui/processesStartDialog.h9
-rw-r--r--src/gui/ui/processesStartDialog.ui193
3 files changed, 243 insertions, 48 deletions
diff --git a/src/gui/processesStartDialog.cpp b/src/gui/processesStartDialog.cpp
index d1a7017..e0a6286 100644
--- a/src/gui/processesStartDialog.cpp
+++ b/src/gui/processesStartDialog.cpp
@@ -25,7 +25,13 @@ ProcessesStartDialog::ProcessesStartDialog(QWidget *parent) :
procStartUi->setupUi(this);
connect( procStartUi->sendButton, SIGNAL( clicked()), this, SLOT( send()));
connect( procStartUi->cancelButton, SIGNAL( clicked()), this, SLOT( notSend()));
- procStartUi->listOfProcessesButton->hide();
+ connect( procStartUi->saveButton, SIGNAL( clicked()), this, SLOT ( save()));
+
+ //if we click or double click one of our items we put it in our message
+ connect( procStartUi->processesList, SIGNAL( cellDoubleClicked(int,int)), this, SLOT ( itemClicked(int,int)));
+ connect( procStartUi->processesList, SIGNAL( cellClicked(int,int)), this, SLOT ( itemClicked(int,int)));
+
+ listProcesses();
}
ProcessesStartDialog::~ProcessesStartDialog()
@@ -36,7 +42,7 @@ ProcessesStartDialog::~ProcessesStartDialog()
void ProcessesStartDialog::send()
{
QString procd = procStartUi->message->text();
-
+ save(); //save (if we made changes to our list)
if (procd.length()>0)
{
QMessageBox::StandardButton start = QMessageBox::question(0,
@@ -48,9 +54,9 @@ void ProcessesStartDialog::send()
{
//write name of process to setProcessesDialog
MainWindow::getWindow()->setProcessesDialog(procd);
+ procStartUi->message->clear();
+ emit accept();
}
- procStartUi->message->clear();
- emit accept();
}
}
@@ -62,5 +68,78 @@ void ProcessesStartDialog::notSend()
void ProcessesStartDialog::listProcesses()
{
- //
+ /*settings.beginWriteArray("RemoteProcessesList");
+ settings.setArrayIndex(0);
+ settings.setValue("command", "oowriter");
+ settings.setValue("description", "Open Office Writer");
+ settings.setArrayIndex(1);
+ settings.setValue("command", "oocalc");
+ settings.setValue("description", "Open Office Calc");
+ settings.endArray();*/
+
+ //read from settings
+ int size = settings.beginReadArray("RemoteProcessesList");
+ for (int i = 0; i < size; ++i)
+ {
+ settings.setArrayIndex(i);
+ procStartUi->processesList->setRowCount(i+1);
+ procStartUi->processesList->setItem(i, 0, new QTableWidgetItem(settings.value("command").toString(),0));
+ procStartUi->processesList->setItem(i, 1, new QTableWidgetItem(settings.value("description").toString(),0));
+ }
+ settings.endArray();
+
+ //add empty items to our List
+ QString empty = " ";
+ procStartUi->processesList->setRowCount(procStartUi->processesList->rowCount()+1);
+ procStartUi->processesList->setItem(procStartUi->processesList->rowCount()-1, 0, new QTableWidgetItem(empty,0));
+ procStartUi->processesList->setItem(procStartUi->processesList->rowCount()-1, 1, new QTableWidgetItem(empty,0));
+}
+
+void ProcessesStartDialog::save()
+{
+ //if we delete items from our list we increment our decrement - to decrement our arrayindex
+ int decrement = 0;
+
+ // if both our last elements are empty dont read them
+ // we need this if we have added new elements
+ if ((procStartUi->processesList->item(procStartUi->processesList->rowCount()-1, 0) != 0) &&
+ (procStartUi->processesList->item(procStartUi->processesList->rowCount()-1, 1) != 0))
+ {
+ settings.beginWriteArray("RemoteProcessesList");
+ for (int i = 0; i < procStartUi->processesList->rowCount(); ++i)
+ {
+ //if elements are only whitespaces we ignore them
+ if ((procStartUi->processesList->item(i, 0)->text().remove(QRegExp("\\s")) != "") &&
+ (procStartUi->processesList->item(i, 1)->text().remove(QRegExp("\\s")) != ""))
+ {
+ settings.setArrayIndex(i-decrement);
+ settings.setValue("command", procStartUi->processesList->item(i, 0)->text());
+ settings.setValue("description", procStartUi->processesList->item(i, 1)->text());
+ } else decrement++; //and increment our decrement
+ }
+ settings.endArray();
+ }
+ else
+ {
+ settings.beginWriteArray("RemoteProcessesList");
+ for (int i = 0; i < procStartUi->processesList->rowCount()-1; ++i)
+ {
+ if ((procStartUi->processesList->item(i, 0)->text().remove(QRegExp("\\s")) != "") &&
+ (procStartUi->processesList->item(i, 1)->text().remove(QRegExp("\\s")) != ""))
+ {
+ settings.setArrayIndex(i-decrement);
+ settings.setValue("command", procStartUi->processesList->item(i, 0)->text());
+ settings.setValue("description", procStartUi->processesList->item(i, 1)->text());
+ } else decrement++;
+ }
+ settings.endArray();
+ }
+ listProcesses();
+}
+
+void ProcessesStartDialog::itemClicked(int row, int column)
+{
+ //if last item exists we put it in our message
+ if (procStartUi->processesList->item(row, 0) != 0)
+ procStartUi->message->setText(procStartUi->processesList->item(row, 0)->text());
}
diff --git a/src/gui/processesStartDialog.h b/src/gui/processesStartDialog.h
index 856279b..358a356 100644
--- a/src/gui/processesStartDialog.h
+++ b/src/gui/processesStartDialog.h
@@ -19,17 +19,14 @@ public:
private:
Ui::ProcessesStartDialog *procStartUi;
-
- /*QGridLayout *layout;
- QLabel *textLabel;
- QLineEdit *messageEdit;
- QPushButton *sendButton;
- QPushButton *cancelButton;*/
+ QSettings settings;
private slots:
void send();
void notSend();
void listProcesses();
+ void save();
+ void itemClicked(int row, int column);
};
#endif // PROCESSESSTARTDIALOG_H
diff --git a/src/gui/ui/processesStartDialog.ui b/src/gui/ui/processesStartDialog.ui
index 0f6c60a..2003c57 100644
--- a/src/gui/ui/processesStartDialog.ui
+++ b/src/gui/ui/processesStartDialog.ui
@@ -6,71 +6,190 @@
<rect>
<x>0</x>
<y>0</y>
- <width>418</width>
- <height>120</height>
+ <width>524</width>
+ <height>309</height>
</rect>
</property>
<property name="windowTitle">
<string>Start Process</string>
</property>
- <widget class="QWidget" name="layoutWidget">
+ <widget class="QWidget" name="verticalLayoutWidget_3">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
- <width>401</width>
- <height>101</height>
+ <width>503</width>
+ <height>291</height>
</rect>
</property>
- <layout class="QVBoxLayout" name="verticalLayout">
+ <layout class="QVBoxLayout" name="outerVerticalLayout">
<item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Process to start:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="message"/>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>5</number>
- </property>
+ <layout class="QVBoxLayout" name="upperVerticalLayout">
<item>
- <widget class="QPushButton" name="listOfProcessesButton">
+ <widget class="QLabel" name="label_2">
<property name="text">
- <string>List of Processes</string>
+ <string>Either use a command from this list or type in the process in the lower field.</string>
</property>
</widget>
</item>
<item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <widget class="QTableWidget" name="processesList">
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAsNeeded</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::DoubleClicked|QAbstractItemView::SelectedClicked</set>
+ </property>
+ <property name="alternatingRowColors">
+ <bool>true</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <property name="gridStyle">
+ <enum>Qt::DotLine</enum>
+ </property>
+ <property name="sortingEnabled">
+ <bool>false</bool>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>108</width>
- <height>20</height>
- </size>
+ <property name="cornerButtonEnabled">
+ <bool>false</bool>
</property>
- </spacer>
+ <attribute name="horizontalHeaderVisible">
+ <bool>true</bool>
+ </attribute>
+ <attribute name="horizontalHeaderCascadingSectionResizes">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderDefaultSectionSize">
+ <number>200</number>
+ </attribute>
+ <attribute name="horizontalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
+ <attribute name="horizontalHeaderCascadingSectionResizes">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderVisible">
+ <bool>true</bool>
+ </attribute>
+ <attribute name="horizontalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderDefaultSectionSize">
+ <number>200</number>
+ </attribute>
+ <column>
+ <property name="text">
+ <string>Command</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Description</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="saveButton">
+ <property name="text">
+ <string>Save</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="lowerVerticalLayout">
<item>
- <widget class="QPushButton" name="cancelButton">
+ <widget class="QLabel" name="label">
<property name="text">
- <string>Cancel</string>
+ <string>Process to start:</string>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="sendButton">
- <property name="text">
- <string>Start</string>
+ <widget class="QLineEdit" name="message"/>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>5</number>
</property>
- </widget>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>108</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelButton">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="sendButton">
+ <property name="text">
+ <string>Start</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</item>