diff options
-rw-r--r-- | Swift/QtUI/QtHighlightEditor.cpp | 10 | ||||
-rw-r--r-- | Swift/QtUI/QtHighlightEditor.ui | 910 |
2 files changed, 423 insertions, 497 deletions
diff --git a/Swift/QtUI/QtHighlightEditor.cpp b/Swift/QtUI/QtHighlightEditor.cpp index e18ca94..f4ec78f 100644 --- a/Swift/QtUI/QtHighlightEditor.cpp +++ b/Swift/QtUI/QtHighlightEditor.cpp @@ -111,14 +111,7 @@ void QtHighlightEditor::onNewButtonClicked() void QtHighlightEditor::onDeleteButtonClicked() { - //int row = getSelectedRow(); - //assert(row >= 0); -// - //itemModel_->removeRow(row, QModelIndex()); - //if (row == itemModel_->rowCount(QModelIndex())) { - //--row; - //} - //selectRow(row); + delete ui_.listWidget->takeItem(getSelectedRow()); } void QtHighlightEditor::onMoveUpButtonClicked() @@ -177,6 +170,7 @@ void QtHighlightEditor::selectRow(int row) for (int i = 0; i < ui_.listWidget->count(); ++i) { ui_.listWidget->item(i)->setSelected(i == row); } + onCurrentRowChanged(row); } /** Return index of selected row or -1 if none is selected */ diff --git a/Swift/QtUI/QtHighlightEditor.ui b/Swift/QtUI/QtHighlightEditor.ui index c132c29..2b37e3c 100644 --- a/Swift/QtUI/QtHighlightEditor.ui +++ b/Swift/QtUI/QtHighlightEditor.ui @@ -6,338 +6,441 @@ <rect> <x>0</x> <y>0</y> - <width>742</width> - <height>677</height> + <width>800</width> + <height>715</height> </rect> </property> + <property name="minimumSize"> + <size> + <width>800</width> + <height>715</height> + </size> + </property> <property name="windowTitle"> <string>Form</string> </property> - <widget class="QGroupBox" name="groupBox"> - <property name="geometry"> - <rect> - <x>380</x> - <y>230</y> - <width>371</width> - <height>201</height> - </rect> - </property> - <property name="title"> - <string>Rule conditions</string> - </property> - <property name="checkable"> - <bool>false</bool> - </property> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>120</y> - <width>351</width> - <height>74</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QCheckBox" name="nickIsKeyword"> - <property name="text"> - <string>Messages that mention my nickname</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="matchWholeWords_2"> - <property name="text"> - <string>Match keyword within longer words</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="matchCase_2"> - <property name="text"> - <string>Keyword is case sensitive</string> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>30</y> - <width>351</width> - <height>22</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Apply to:</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="checkBox"> - <property name="text"> - <string>Chats</string> - </property> - </widget> - </item> + <layout class="QVBoxLayout" name="verticalLayout_11"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_8"/> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_7"/> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <widget class="QCheckBox" name="checkBox_2"> + <widget class="QLabel" name="label_5"> <property name="text"> - <string>Rooms</string> + <string>Incoming messages are checked against the following rules. First rule that matches will be executed.</string> </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>60</y> - <width>351</width> - <height>25</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QCheckBox" name="checkBox_3"> - <property name="text"> - <string>Sender name:</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="lineEdit"/> - </item> - </layout> - </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>90</y> - <width>351</width> - <height>25</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QCheckBox" name="checkBox_4"> - <property name="text"> - <string>Keyword:</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="lineEdit_2"/> - </item> - </layout> - </widget> - </widget> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="geometry"> - <rect> - <x>480</x> - <y>640</y> - <width>251</width> - <height>27</height> - </rect> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - <widget class="Line" name="line_2"> - <property name="geometry"> - <rect> - <x>10</x> - <y>621</y> - <width>721</width> - <height>20</height> - </rect> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - <widget class="QGroupBox" name="groupBox_3"> - <property name="geometry"> - <rect> - <x>380</x> - <y>430</y> - <width>371</width> - <height>91</height> - </rect> - </property> - <property name="title"> - <string>Highlight Action</string> - </property> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>30</y> - <width>351</width> - <height>22</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_5"> - <item> - <widget class="QRadioButton" name="radioButton"> - <property name="text"> - <string>No Highlight</string> - </property> - <property name="checked"> + <property name="wordWrap"> <bool>true</bool> </property> </widget> </item> <item> - <widget class="QRadioButton" name="radioButton_2"> - <property name="text"> - <string>Default Color</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButton_7"> - <property name="text"> - <string>Custom Color</string> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>60</y> - <width>351</width> - <height>23</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_6"> - <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="Swift::QtColorToolButton" name="foreground_2"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>&Foreground</string> - </property> - <property name="toolButtonStyle"> - <enum>Qt::ToolButtonTextBesideIcon</enum> - </property> - </widget> - </item> - <item> - <widget class="Swift::QtColorToolButton" name="background"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>&Background</string> - </property> - <property name="toolButtonStyle"> - <enum>Qt::ToolButtonTextBesideIcon</enum> - </property> - </widget> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QListWidget" name="listWidget"/> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QPushButton" name="newButton"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset theme="list-add"> + <normaloff/> + </iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="deleteButton"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset theme="list-remove"> + <normaloff/> + </iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="moveUpButton"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset theme="up"> + <normaloff/> + </iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="moveDownButton"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset theme="down"> + <normaloff/> + </iconset> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> </item> </layout> - </widget> - </widget> - <widget class="QGroupBox" name="groupBox_4"> - <property name="geometry"> - <rect> - <x>380</x> - <y>520</y> - <width>371</width> - <height>91</height> - </rect> - </property> - <property name="title"> - <string>Sound Action</string> - </property> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>30</y> - <width>351</width> - <height>22</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_7"> + </item> + <item> + <widget class="Line" name="line_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_12"> <item> - <widget class="QRadioButton" name="radioButton_4"> - <property name="text"> - <string>No Sound</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> + <layout class="QVBoxLayout" name="verticalLayout_9"> + <item> + <widget class="QGroupBox" name="groupBox_5"> + <property name="title"> + <string>Rule Description</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_11"> + <item> + <widget class="QTextEdit" name="textEdit_2"> + <property name="html"> + <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This rule will match messages either in chats or in rooms if the sender is called 'Admin', and the message contains 'Urgent' (not case sensitive) as a part of any word.</p></body></html></string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>Example Highlights</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_10"> + <item> + <widget class="QTextEdit" name="textEdit"/> + </item> + </layout> + </widget> + </item> + </layout> </item> <item> - <widget class="QRadioButton" name="radioButton_5"> - <property name="text"> - <string>Default Sound</string> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="radioButton_6"> - <property name="text"> - <string>Custom Sound</string> - </property> - </widget> + <layout class="QVBoxLayout" name="verticalLayout_10"> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Rule Conditions</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Apply to:</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkBox"> + <property name="text"> + <string>Chats</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="checkBox_2"> + <property name="text"> + <string>Rooms</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QCheckBox" name="checkBox_3"> + <property name="text"> + <string>Sender name:</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit"/> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QCheckBox" name="checkBox_4"> + <property name="text"> + <string>Keyword:</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_2"/> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QCheckBox" name="nickIsKeyword"> + <property name="text"> + <string>Messages that mention my nickname</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="matchWholeWords_2"> + <property name="text"> + <string>Match keyword within longer words</string> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="matchCase_2"> + <property name="text"> + <string>Keyword is case sensitive</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> + <string>Highlight Action</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <widget class="QRadioButton" name="radioButton"> + <property name="text"> + <string>No Highlight</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="radioButton_2"> + <property name="text"> + <string>Default Color</string> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="radioButton_7"> + <property name="text"> + <string>Custom Color</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <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="Swift::QtColorToolButton" name="foreground_2"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>&Foreground</string> + </property> + <property name="toolButtonStyle"> + <enum>Qt::ToolButtonTextBesideIcon</enum> + </property> + </widget> + </item> + <item> + <widget class="Swift::QtColorToolButton" name="background"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>&Background</string> + </property> + <property name="toolButtonStyle"> + <enum>Qt::ToolButtonTextBesideIcon</enum> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_4"> + <property name="title"> + <string>Sound Action</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QRadioButton" name="radioButton_4"> + <property name="text"> + <string>No Sound</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="radioButton_5"> + <property name="text"> + <string>Default Sound</string> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="radioButton_6"> + <property name="text"> + <string>Custom Sound</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <item> + <spacer name="horizontalSpacer_3"> + <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="QLineEdit" name="soundFile"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="soundFileButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>268</width> + <height>22</height> + </size> + </property> + </spacer> + </item> + </layout> </item> </layout> - </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>60</y> - <width>351</width> - <height>25</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_8"> + </item> + <item> + <widget class="Line" name="line_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_9"> <item> - <spacer name="horizontalSpacer_3"> + <spacer name="horizontalSpacer_4"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> @@ -350,188 +453,17 @@ </spacer> </item> <item> - <widget class="QLineEdit" name="soundFile"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="soundFileButton"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string>...</string> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="standardButtons"> + <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> </layout> - </widget> - </widget> - <widget class="Line" name="line_3"> - <property name="geometry"> - <rect> - <x>10</x> - <y>200</y> - <width>721</width> - <height>31</height> - </rect> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - <widget class="QGroupBox" name="groupBox_2"> - <property name="geometry"> - <rect> - <x>10</x> - <y>360</y> - <width>361</width> - <height>261</height> - </rect> - </property> - <property name="title"> - <string>Example Highlights</string> - </property> - <widget class="QTextEdit" name="textEdit"> - <property name="geometry"> - <rect> - <x>0</x> - <y>30</y> - <width>361</width> - <height>221</height> - </rect> - </property> - </widget> - </widget> - <widget class="QGroupBox" name="groupBox_5"> - <property name="geometry"> - <rect> - <x>10</x> - <y>230</y> - <width>361</width> - <height>131</height> - </rect> - </property> - <property name="title"> - <string>Example Highlights</string> - </property> - <widget class="QTextEdit" name="textEdit_2"> - <property name="geometry"> - <rect> - <x>0</x> - <y>30</y> - <width>361</width> - <height>91</height> - </rect> - </property> - <property name="html"> - <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This rule will match messages either in chats or in rooms if the sender is called 'Admin', and the message contains 'Urgent' (not case sensitive) as a part of any word.</p></body></html></string> - </property> - </widget> - </widget> - <widget class="QWidget" name=""> - <property name="geometry"> - <rect> - <x>10</x> - <y>12</y> - <width>721</width> - <height>191</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="label_5"> - <property name="text"> - <string>Incoming messages are checked against the following rules. First rule that matches will be executed.</string> - </property> - <property name="wordWrap"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QListWidget" name="listWidget"/> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout_3"> - <item> - <widget class="QPushButton" name="newButton"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset theme="list-add"> - <normaloff/> - </iconset> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="deleteButton"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset theme="list-remove"> - <normaloff/> - </iconset> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="moveUpButton"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset theme="up"> - <normaloff/> - </iconset> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="moveDownButton"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset theme="down"> - <normaloff/> - </iconset> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </item> - </layout> - </widget> + </item> + </layout> + <zorder>line_2</zorder> + <zorder>line_3</zorder> </widget> <customwidgets> <customwidget> |