diff -r e41b6e1e3299 -r fc58b67d445c src/configDialog.cpp
--- a/src/configDialog.cpp Wed Aug 21 11:09:39 2013 +0300
+++ b/src/configDialog.cpp Wed Aug 21 14:07:02 2013 +0300
@@ -14,6 +14,10 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
+ * =====================================================================
+ *
+ * configDialog.cpp: Settings dialog and everything related to it.
+ * Actual configuration core is in config.cpp.
*/
#include
@@ -25,7 +29,6 @@
#include
#include
#include
-
#include "common.h"
#include "configDialog.h"
#include "file.h"
@@ -67,6 +70,9 @@
extern_cfg (Bool, prog_isecalc_wine);
extern_cfg (Bool, prog_edger2_wine);
+#define act(N) extern_cfg (KeySequence, key_##N);
+#include "actions.h"
+
const char* g_extProgPathFilter =
#ifdef _WIN32
"Applications (*.exe)(*.exe);;All files (*.*)(*.*)";
@@ -74,9 +80,6 @@
"";
#endif
-#define act(N) extern_cfg (KeySequence, key_##N);
-#include "actions.h"
-
// =============================================================================
// -----------------------------------------------------------------------------
ConfigDialog::ConfigDialog (ConfigDialog::Tab deftab, QWidget* parent, Qt::WindowFlags f) :
@@ -86,12 +89,12 @@
ui = new Ui_ConfigUI;
ui->setupUi (this);
- // Interface tab:
+ // Interface tab
setButtonBackground (ui->backgroundColorButton, gl_bgcolor);
connect (ui->backgroundColorButton, SIGNAL (clicked()),
this, SLOT (slot_setGLBackground()));
- setButtonBackground (ui->mainColorButton, gl_maincolor.value);
+ setButtonBackground (ui->mainColorButton, gl_maincolor);
connect (ui->mainColorButton, SIGNAL (clicked()),
this, SLOT (slot_setGLForeground()));
@@ -149,6 +152,7 @@
}
// =============================================================================
+// Adds a shortcut entry to the list of shortcuts.
// -----------------------------------------------------------------------------
void ConfigDialog::addShortcut (KeySequenceConfig& cfg, QAction* act, ulong& i) {
ShortcutListItem* item = new ShortcutListItem;
@@ -166,6 +170,7 @@
}
// =============================================================================
+// Initializes the table of grid stuff
// -----------------------------------------------------------------------------
void ConfigDialog::initGrids() {
QGridLayout* gridlayout = new QGridLayout;
@@ -231,6 +236,7 @@
};
// =============================================================================
+// Initializes the stuff in the ext programs tab
// -----------------------------------------------------------------------------
void ConfigDialog::initExtProgs() {
QGridLayout* pathsLayout = new QGridLayout;
@@ -269,12 +275,12 @@
}
// =============================================================================
+// Set the settings based on widget data.
// -----------------------------------------------------------------------------
void ConfigDialog::applySettings() {
// Apply configuration
lv_colorize = ui->colorizeObjects->isChecked();
gl_colorbfc = ui->colorBFC->isChecked();
- // edit_schemanticinline = ui->scemanticInlining->isChecked();
gl_blackedges = ui->blackEdges->isChecked();
gl_maincolor_alpha = ((double) ui->mainColorAlpha->value()) / 10.0f;
gl_linethickness = ui->lineThickness->value();
@@ -287,6 +293,7 @@
ld_defaultname = ui->m_profileName->text();
ld_defaultlicense = ui->m_profileLicense->currentIndex();
+ // Ensure '/' postfix to the download path
if (net_downloadpath.value.right (1) != DIRSLASH)
net_downloadpath += DIRSLASH;
@@ -322,6 +329,7 @@
}
// =============================================================================
+// A dialog button was clicked
// -----------------------------------------------------------------------------
void ConfigDialog::buttonClicked (QAbstractButton* button) {
typedef QDialogButtonBox QDDB;
@@ -338,6 +346,7 @@
}
// =============================================================================
+// Update the list of color toolbar items in the quick color tab.
// -----------------------------------------------------------------------------
void ConfigDialog::updateQuickColorList (LDQuickColor* sel) {
for (QListWidgetItem* item : quickColorItems)
@@ -375,6 +384,7 @@
}
// =============================================================================
+// Quick colors: add or edit button was clicked.
// -----------------------------------------------------------------------------
void ConfigDialog::slot_setColor() {
LDQuickColor* entry = null;
@@ -421,6 +431,7 @@
}
// =============================================================================
+// Remove a quick color
// -----------------------------------------------------------------------------
void ConfigDialog::slot_delColor() {
if (ui->quickColorList->selectedItems().size() == 0)
@@ -432,6 +443,7 @@
}
// =============================================================================
+// Move a quick color up/down
// -----------------------------------------------------------------------------
void ConfigDialog::slot_moveColor() {
const bool up = (static_cast (sender()) == ui->quickColor_moveUp);
@@ -454,6 +466,7 @@
}
// =============================================================================
+// Add a separator to quick colors
// -----------------------------------------------------------------------------
void ConfigDialog::slot_addColorSeparator() {
quickColors << LDQuickColor ({null, null, true});
@@ -461,6 +474,7 @@
}
// =============================================================================
+// Clear all quick colors
// -----------------------------------------------------------------------------
void ConfigDialog::slot_clearColors() {
quickColors.clear();
@@ -468,6 +482,7 @@
}
// =============================================================================
+// Pick a color and set the appropriate configuration option.
// -----------------------------------------------------------------------------
void ConfigDialog::pickColor (StringConfig& conf, QPushButton* button) {
QColor col = QColorDialog::getColor (QColor (conf));
@@ -494,6 +509,7 @@
}
// =============================================================================
+// Sets background color of a given button.
// -----------------------------------------------------------------------------
void ConfigDialog::setButtonBackground (QPushButton* button, str value) {
button->setIcon (getIcon ("colorselect"));
@@ -502,6 +518,7 @@
}
// =============================================================================
+// Finds the given list widget item in the list of widget items given.
// -----------------------------------------------------------------------------
int ConfigDialog::getItemRow (QListWidgetItem* item, List& haystack) {
int i = 0;
@@ -516,15 +533,17 @@
}
// =============================================================================
+// Which quick color is currently selected?
// -----------------------------------------------------------------------------
QListWidgetItem* ConfigDialog::getSelectedQuickColor() {
if (ui->quickColorList->selectedItems().size() == 0)
return null;
- return ui->quickColorList->selectedItems() [0];
+ return ui->quickColorList->selectedItems()[0];
}
// =============================================================================
+// Get the list of shortcuts selected
// -----------------------------------------------------------------------------
QList ConfigDialog::getShortcutSelection() {
QList out;
@@ -536,6 +555,7 @@
}
// =============================================================================
+// Edit the shortcut of a given action.
// -----------------------------------------------------------------------------
void ConfigDialog::slot_setShortcut() {
QList sel = getShortcutSelection();
@@ -550,6 +570,7 @@
}
// =============================================================================
+// Reset a shortcut to defaults
// -----------------------------------------------------------------------------
void ConfigDialog::slot_resetShortcut() {
QList sel = getShortcutSelection();
@@ -561,6 +582,7 @@
}
// =============================================================================
+// Remove the shortcut of an action.
// -----------------------------------------------------------------------------
void ConfigDialog::slot_clearShortcut() {
QList sel = getShortcutSelection();
@@ -572,6 +594,7 @@
}
// =============================================================================
+// Set the path of an external program
// -----------------------------------------------------------------------------
void ConfigDialog::slot_setExtProgPath() {
const extProgInfo* info = null;
@@ -593,6 +616,7 @@
}
// =============================================================================
+// '...' button pressed for the download path
// -----------------------------------------------------------------------------
void ConfigDialog::slot_findDownloadFolder() {
str dpath = QFileDialog::getExistingDirectory();
@@ -600,6 +624,7 @@
}
// =============================================================================
+// Updates the text string for a given shortcut list item
// -----------------------------------------------------------------------------
void ConfigDialog::setShortcutText (ShortcutListItem* item) {
QAction* act = item->action();
@@ -609,6 +634,7 @@
}
// =============================================================================
+// Gets the configuration string of the quick color toolbar
// -----------------------------------------------------------------------------
str ConfigDialog::quickColorString() {
str val;