void Configuration::writeShortcuts() { QMap<QString, Shortcut>::const_iterator it = Shortcuts.begin(); while(it != Shortcuts.end()) { shortcutToConfig(it.key(), it.value().Hotkey); it++; } emit shortcutsUpdated(); }
AbstractTableView::AbstractTableView(QWidget* parent) : QAbstractScrollArea(parent) { // Class variable initialization mTableOffset = 0; mPrevTableOffset = mTableOffset + 1; Header_t data; data.isVisible = true; data.height = 20; data.activeButtonIndex = -1; mHeader = data; // Paint cell content only when debugger is running setDrawDebugOnly(true); mRowCount = 0; mHeaderButtonSytle.setStyleSheet(" QPushButton {\n background-color: rgb(192, 192, 192);\n border-style: outset;\n border-width: 2px;\n border-color: rgb(128, 128, 128);\n }\n QPushButton:pressed {\n background-color: rgb(192, 192, 192);\n border-style: inset;\n }"); mNbrOfLineToPrint = 0; memset(&mColResizeData, 0, sizeof(mColResizeData)); mGuiState = AbstractTableView::NoState; mShouldReload = true; mAllowPainting = true; // ScrollBar Init setVerticalScrollBar(new AbstractTableScrollBar(verticalScrollBar())); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); memset(&mScrollBarAttributes, 0, sizeof(mScrollBarAttributes)); horizontalScrollBar()->setRange(0, 0); horizontalScrollBar()->setPageStep(650); mMouseWheelScrollDelta = 4; setMouseTracking(true); // Slots connect(verticalScrollBar(), SIGNAL(actionTriggered(int)), this, SLOT(vertSliderActionSlot(int))); connect(Config(), SIGNAL(colorsUpdated()), this, SLOT(slot_updateColors())); connect(Config(), SIGNAL(fontsUpdated()), this, SLOT(slot_updateFonts())); connect(Config(), SIGNAL(shortcutsUpdated()), this, SLOT(slot_updateShortcuts())); // todo: try Qt::QueuedConnection to init Initialize(); }
DesktopViewProxy::DesktopViewProxy(MainWindow* mainWindow, KisMainWindow* parent) : QObject(parent) , d(new Private(mainWindow, parent)) { Q_ASSERT(parent); // "There MUST be a KisMainWindow assigned, otherwise everything will blow up"); // Hide this one... as it doesn't work at all well and release happens :P QAction* closeAction = d->desktopWindow->actionCollection()->action("file_close"); closeAction->setVisible(false); // Concept is simple - simply steal all the actions we require to work differently, and reconnect them to local functions QAction* newAction = d->desktopWindow->actionCollection()->action("file_new"); newAction->disconnect(d->desktopWindow); connect(newAction, SIGNAL(triggered(bool)), this, SLOT(fileNew())); QAction* openAction = d->desktopWindow->actionCollection()->action("file_open"); openAction->disconnect(d->desktopWindow); connect(openAction, SIGNAL(triggered(bool)), this, SLOT(fileOpen())); QAction* saveAction = d->desktopWindow->actionCollection()->action("file_save"); saveAction->disconnect(d->desktopWindow); connect(saveAction, SIGNAL(triggered(bool)), this, SLOT(fileSave())); QAction* saveasAction = d->desktopWindow->actionCollection()->action("file_save_as"); saveasAction->disconnect(d->desktopWindow); connect(saveasAction, SIGNAL(triggered(bool)), this, SLOT(fileSaveAs())); QAction* reloadAction = d->desktopWindow->actionCollection()->action("file_reload_file"); reloadAction->disconnect(d->desktopWindow); connect(reloadAction, SIGNAL(triggered(bool)), this, SLOT(reload())); QAction* loadExistingAsNewAction = d->desktopWindow->actionCollection()->action("file_import_file"); //Hide the "Load existing as new" action. It serves little purpose and currently //does the same as open. We cannot just remove it from the action collection though //since that causes a crash in KisMainWindow. loadExistingAsNewAction->setVisible(false); // Recent files need a touch more work, as they aren't simply an action. KRecentFilesAction* recent = qobject_cast<KRecentFilesAction*>(d->desktopWindow->actionCollection()->action("file_open_recent")); recent->disconnect(d->desktopWindow); connect(recent, SIGNAL(urlSelected(QUrl)), this, SLOT(slotFileOpenRecent(QUrl))); recent->clear(); recent->loadEntries(KGlobal::config()->group("RecentFiles")); connect(d->desktopWindow, SIGNAL(documentSaved()), this, SIGNAL(documentSaved())); // XXX: Shortcut editor is untested in Gemini since refactoring. connect(KisActionRegistry::instance(), SIGNAL(shortcutsUpdated()), this, SLOT(updateShortcuts())); }
void Configuration::readShortcuts() { Shortcuts = defaultShortcuts; QMap<QString, Shortcut>::const_iterator it = Shortcuts.begin(); while(it != Shortcuts.end()) { const QString id = it.key(); QString key = shortcutFromConfig(id); if(key != "") { if(key == "NOT_SET") Shortcuts[it.key()].Hotkey = QKeySequence(); else { QKeySequence KeySequence(key); Shortcuts[it.key()].Hotkey = KeySequence; } } it++; } emit shortcutsUpdated(); }