void setcolormark(QRgb colorval) { int i; if (colorval != DEFAULTCOLOR) { i = 3 + colorlist.indexOf(colorval); if (i<3) return; // no such color :( } else { i = 2; // index of the "Inherit Color" action } // 1. mark the color in the menu toggleexcl(menuAction("Elements_Color")->menu()->actions()[i]); // 2. mark the color on the toolbar QAbstractButton *button = toolbar->findChild<QAbstractButton*>("Colors"); int toolIndex = button->property("index").toInt(); QImage img(ToolBar[toolIndex].icon_data); QPixmap pix(img.size()); QPainter p(&pix); if (i==2) { // inherit color -- default pixmap p.drawImage(0, 0, img); } else { // color pixmap p.fillRect(img.rect(), QColor(colorval)); } button->actions().first()->setIcon(QIcon(pix)); }
void MergeTool::chooseAction() { m_merging = (m_mergeType == NormalMerge); if (m_merging) return; QMessageBox msgBox; msgBox.setWindowTitle(tr("Merge Conflict")); msgBox.setIcon(QMessageBox::Question); msgBox.setStandardButtons(QMessageBox::Abort); msgBox.setText(tr("%1 merge conflict for \"%2\"\nLocal: %3\nRemote: %4") .arg(mergeTypeName()) .arg(m_fileName) .arg(stateName(m_localState, m_localInfo)) .arg(stateName(m_remoteState, m_remoteInfo)) ); switch (m_mergeType) { case SubmoduleMerge: case SymbolicLinkMerge: addButton(&msgBox, tr("&Local"), 'l'); addButton(&msgBox, tr("&Remote"), 'r'); break; case DeletedMerge: if (m_localState == CreatedState || m_remoteState == CreatedState) addButton(&msgBox, tr("&Created"), 'c'); else addButton(&msgBox, tr("&Modified"), 'm'); addButton(&msgBox, tr("&Deleted"), 'd'); break; default: break; } msgBox.exec(); QByteArray ba; QVariant key; QAbstractButton *button = msgBox.clickedButton(); if (button) key = button->property("key"); // either the message box was closed without clicking anything, or abort was clicked if (!key.isValid()) key = QVariant(QLatin1Char('a')); // abort ba.append(key.toChar().toLatin1()); ba.append('\n'); m_process->write(ba); m_process->waitForBytesWritten(); }
void HandlerChoiceDialog::populateLocationsBox () { while (Ui_.LocationsBox_->count () > 1) Ui_.LocationsBox_->removeItem (1); QAbstractButton *checked = Buttons_->checkedButton (); if (!checked) return; if (checked->property ("AddedAs").toString () == "IEntityHandler") { Ui_.LocationsBox_->setEnabled (false); Ui_.BrowseButton_->setEnabled (false); return; } Ui_.LocationsBox_->setEnabled (true); Ui_.BrowseButton_->setEnabled (true); Ui_.LocationsBox_->insertSeparator (1); if (Suggestion_.size ()) Ui_.LocationsBox_->addItem (Suggestion_); const QString& plugin = checked->property ("PluginID").toString (); const QStringList& pluginTexts = GetPluginSavePaths (plugin).mid (0, 7); QSettings settings (QCoreApplication::organizationName (), QCoreApplication::applicationName ()); settings.beginGroup ("SavePaths"); QStringList otherPlugins = settings.childKeys (); settings.endGroup (); otherPlugins.removeAll (plugin); QList<QStringList> otherTextsList; Q_FOREACH (const QString& otherPlugin, otherPlugins) otherTextsList.append (GetPluginSavePaths (otherPlugin)); for (QList<QStringList>::iterator it = otherTextsList.begin (), end = otherTextsList.end (); it != end; ++it) Q_FOREACH (const QString& ptext, pluginTexts) it->removeAll (ptext); QStringList otherTexts; while (otherTexts.size () < 16) { bool added = false; for (QList<QStringList>::iterator it = otherTextsList.begin (), end = otherTextsList.end (); it != end; ++it) { if (!it->isEmpty ()) { otherTexts += it->takeFirst (); added = true; } } if (!added) break; } if (!pluginTexts.isEmpty ()) { Ui_.LocationsBox_->addItems (pluginTexts); if (!otherTexts.isEmpty ()) Ui_.LocationsBox_->insertSeparator (pluginTexts.size () + 2); } Ui_.LocationsBox_->addItems (otherTexts); if (!Suggestion_.isEmpty ()) Ui_.LocationsBox_->setCurrentIndex (1); else { const QString& prev = settings.value ("PreviousEntitySavePath").toString (); if (!prev.isEmpty () && pluginTexts.contains (prev)) { const int pos = Ui_.LocationsBox_->findText (prev); if (pos != -1) Ui_.LocationsBox_->setCurrentIndex (pos); } else if (!pluginTexts.isEmpty ()) Ui_.LocationsBox_->setCurrentIndex (2); } }