bool DaemonAdaptor::setMultipleActionsBehaviour(uint behaviour) { if (behaviour >= MULTIPLE_ACTIONS_BEHAVIOUR__COUNT) { return false; } emit onSetMultipleActionsBehaviour(static_cast<MultipleActionsBehaviour>(behaviour)); emit multipleActionsBehaviourChanged(behaviour); return true; }
Actions::Actions(QObject *parent) : QObject(parent) , mServiceWatcher(new QDBusServiceWatcher(QLatin1String("org.lxqt.global_key_shortcuts"), QDBusConnection::sessionBus(), QDBusServiceWatcher::WatchForOwnerChange, this)) , mMultipleActionsBehaviour(MULTIPLE_ACTIONS_BEHAVIOUR_FIRST) { connect(mServiceWatcher, SIGNAL(serviceUnregistered(QString)), this, SLOT(on_daemonDisappeared(QString))); connect(mServiceWatcher, SIGNAL(serviceRegistered(QString)), this, SLOT(on_daemonAppeared(QString))); mDaemonProxy = new org::lxqt::global_key_shortcuts::daemon(QLatin1String("org.lxqt.global_key_shortcuts"), QStringLiteral("/daemon"), QDBusConnection::sessionBus(), this); connect(mDaemonProxy, SIGNAL(actionAdded(qulonglong)), this, SLOT(on_actionAdded(qulonglong))); connect(mDaemonProxy, SIGNAL(actionEnabled(qulonglong, bool)), this, SLOT(on_actionEnabled(qulonglong, bool))); connect(mDaemonProxy, SIGNAL(clientActionSenderChanged(qulonglong, QString)), this, SLOT(on_clientActionSenderChanged(qulonglong, QString))); connect(mDaemonProxy, SIGNAL(actionModified(qulonglong)), this, SLOT(on_actionModified(qulonglong))); connect(mDaemonProxy, SIGNAL(actionRemoved(qulonglong)), this, SLOT(on_actionRemoved(qulonglong))); connect(mDaemonProxy, SIGNAL(actionShortcutChanged(qulonglong)), this, SLOT(on_actionShortcutChanged(qulonglong))); connect(mDaemonProxy, SIGNAL(actionsSwapped(qulonglong, qulonglong)), this, SLOT(on_actionsSwapped(qulonglong, qulonglong))); connect(mDaemonProxy, SIGNAL(multipleActionsBehaviourChanged(uint)), this, SLOT(on_multipleActionsBehaviourChanged(uint))); QTimer::singleShot(0, this, SLOT(delayedInit())); }
MainWindow::MainWindow(QWidget *parent) : QDialog(parent) , mEditActionDialog(0) { setupUi(this); QColor grayedOutColour(actions_TV->palette().color(actions_TV->foregroundRole())); QColor backgroundColour(actions_TV->palette().color(actions_TV->backgroundRole())); grayedOutColour.toHsl(); backgroundColour.toHsl(); grayedOutColour.setHslF(grayedOutColour.hslHueF(), grayedOutColour.hslSaturationF(), (grayedOutColour.lightnessF() + backgroundColour.lightnessF() * 3) / 4.0); grayedOutColour.toRgb(); QFont highlightedFont(actions_TV->font()); QFont italicFont(actions_TV->font()); QFont highlightedItalicFont(actions_TV->font()); highlightedFont.setBold(!highlightedFont.bold()); italicFont.setItalic(!italicFont.italic()); highlightedItalicFont.setItalic(!highlightedItalicFont.italic()); highlightedItalicFont.setBold(!highlightedItalicFont.bold()); mActions = new Actions(this); mDefaultModel = new DefaultModel(mActions, grayedOutColour, highlightedFont, italicFont, highlightedItalicFont, this); mSortFilterProxyModel = new QSortFilterProxyModel(this); mSortFilterProxyModel->setSourceModel(mDefaultModel); actions_TV->setModel(mSortFilterProxyModel); mSelectionModel = new QItemSelectionModel(actions_TV->model()); actions_TV->setSelectionModel(mSelectionModel); actions_TV->setItemDelegateForColumn(1, new ShortcutDelegate(mActions, this)); connect(mSelectionModel, SIGNAL(selectionChanged(QItemSelection, QItemSelection)), SLOT(selectionChanged(QItemSelection, QItemSelection))); connect(mActions, SIGNAL(daemonDisappeared()), SLOT(daemonDisappeared())); connect(mActions, SIGNAL(daemonAppeared()), SLOT(daemonAppeared())); connect(mActions, SIGNAL(multipleActionsBehaviourChanged(MultipleActionsBehaviour)), SLOT(multipleActionsBehaviourChanged(MultipleActionsBehaviour))); }
void Actions::on_multipleActionsBehaviourChanged(uint behaviour) { mMultipleActionsBehaviour = static_cast<MultipleActionsBehaviour>(behaviour); emit multipleActionsBehaviourChanged(mMultipleActionsBehaviour); }