void XbmcremoteApplet::paintInterface(QPainter * p, const QStyleOptionGraphicsItem *option, const QRect &contentsRect) { Q_UNUSED( p ); Q_UNUSED( option ); if (!m_panelContainment) { /* To make applet's size matches the popup's size. The applet is the tray icon, which is 16x16 pixels size by default.*/ adjustSize(); } QString el = "logo"; int s = qMin(contentsRect.width(), contentsRect.height()); QRect rect(0, 0, s, s); QPixmap newIcon(QSize(s, s)); newIcon.fill(Qt::transparent); QPainter painter; painter.begin(&newIcon); m_svg->paint(&painter, rect, el); paintStatusOverlay(&painter, rect); painter.end(); setPopupIcon(newIcon); }
void QgsLegendLayerFile::setIconAppearance( bool isInOverview, bool editable ) { QPixmap newIcon( getOriginalPixmap() ); if ( isInOverview ) { // Overlay the overview icon on the default icon QPixmap myPixmap = QgisApp::getThemePixmap( "mIconOverview.png" ); QPainter p( &newIcon ); p.drawPixmap( 0, 0, myPixmap ); p.end(); } if ( editable ) { // Overlay the editable icon on the default icon QPixmap myPixmap = QgisApp::getThemePixmap( "mIconEditable.png" ); QPainter p( &newIcon ); p.drawPixmap( 0, 0, myPixmap ); p.end(); } QIcon theIcon( newIcon ); setIcon( 0, theIcon ); //also update the icon of the legend layer (( QgsLegendLayer* )( parent()->parent() ) )->updateIcon(); }
QIcon Global::notEmpty(const QIcon & icon) { QIcon newIcon(icon); if(icon.isNull()) { newIcon = QIcon::fromTheme("text-html", QIcon(":/text-html.png")); } return newIcon; }
void QgsLegendLayer::updateIcon() { QPixmap newIcon( getOriginalPixmap() ); QgsMapLayer* theLayer = layer(); //overview // FIXME: overview icon is missing /* if ( theFile->isInOverview() ) { // Overlay the overview icon on the default icon QPixmap myPixmap = QgsApplication::getThemePixmap( "/mIconOverview.png" ); QPainter p( &newIcon ); p.drawPixmap( 0, 0, myPixmap ); p.end(); }*/ //editable if ( theLayer->isEditable() ) { QPixmap myPixmap; QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer *>( theLayer ); if ( vlayer->isModified() ) { myPixmap = QgsApplication::getThemePixmap( "/mIconEditableEdits.png" ); } else { myPixmap = QgsApplication::getThemePixmap( "/mIconEditable.png" ); } // use editable icon instead of the layer's type icon newIcon = myPixmap; // Overlay the editable icon on the default icon /*QPainter p( &newIcon ); p.drawPixmap( 0, 0, myPixmap ); p.end();*/ } // TODO: projection error icon? QIcon theIcon( newIcon ); QgsLegend* l = legend(); if ( l ) { l->blockSignals( true ); //prevent unnecessary canvas redraw } setIcon( 0, theIcon ); if ( l ) { l->blockSignals( false ); } }
// After all of the trackers have been synced, // this loops through and builds up information // that will then be shown in a task tray popup void MainWindow::notifyUser() { // On non-mac platforms, we can assume that if the window is // not visible, then it's in the system tray. That doesn't // necessarily work out on OSX when we're minimized to the dock. #ifndef Q_OS_MAC if (isVisible()) return; #endif int total = 0; QMapIterator<QString, Backend *> i(mBackendMap); while (i.hasNext()) { i.next(); total += i.value()->latestUpdateCount(); } if (total > 0) { #ifdef Q_OS_MAC QApplication::alert(this); if (isMinimized()) { QPixmap newIcon(":/logo_128"); QPainter painter(&newIcon); painter.setPen(QColor(Qt::darkRed)); painter.setBrush(Qt::red); QRectF circle(70, 60, 50, 50); painter.drawEllipse(circle); painter.setPen(Qt::white); if (total < 100) painter.setFont(QFont("Helvetica", 30)); else painter.setFont(QFont("Helvetica", 24)); if (total < 1000) painter.drawText(circle, Qt::AlignCenter, QString::number(total)); else painter.drawText(circle, Qt::AlignCenter, ">999"); painter.end(); QApplication::setWindowIcon(QIcon(newIcon)); } #else pTrayIcon->showMessage("Bugs Updated", tr("%n bug(s) updated", "", total), QSystemTrayIcon::Information, 5000); #endif } }
void MainWindow::openFile(QString path) { QIcon newIcon(path); if(!newIcon.isNull() && !newIcon.availableSizes().isEmpty()) { this->settings->setValue(QStringLiteral("paths/openPath"), QFileInfo(path).dir().absolutePath()); this->mainModel->appendIcon(newIcon, path); this->ui->realFileLineEdit->setText(QFileInfo(path).baseName()); } else { DialogMaster::critical(this, tr("Error"), tr("Unable to open icon \"%1\"").arg(path)); } }
bool LaunchPoint::updateIconPath(std::string newIconPath) { // strip off local file url if (newIconPath.compare(0, 7, localFileURI) == 0) { newIconPath.erase(0, 7); } QImage newIcon(qFromUtf8Stl(newIconPath)); if (newIcon.isNull()) { return false; } m_iconPath = newIconPath; // attempt to persist change toFile(); return true; }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void PdmUiItem::updateUiIconFromState(bool active) { // Reset dynamic icon this->setUiIcon(QIcon()); // Get static one QIcon icon = this->uiIcon(); // Get a pixmap, and modify it QPixmap icPixmap; icPixmap = icon.pixmap(16, 16, QIcon::Normal); if (!active) { QIcon temp(icPixmap); icPixmap = temp.pixmap(16, 16, QIcon::Disabled); } QIcon newIcon(icPixmap); this->setUiIcon(newIcon); }
StatusNotifierButton::StatusNotifierButton(QString service, QString objectPath, ILXQtPanelPlugin* plugin, QWidget *parent) : QToolButton(parent), mMenu(NULL), mStatus(Passive), mValid(true), mFallbackIcon(QIcon::fromTheme("application-x-executable")), mPlugin(plugin) { interface = new org::kde::StatusNotifierItem(service, objectPath, QDBusConnection::sessionBus(), this); QString menuPath = interface->menu().path(); if (!menuPath.isEmpty()) { mMenu = (new DBusMenuImporter(service, interface->menu().path(), this))->menu(); dynamic_cast<QObject &>(*mMenu).setParent(this); mMenu->setObjectName(QStringLiteral("StatusNotifierMenu")); } // HACK: sni-qt creates some invalid items (like one for konversarion 1.5) if (interface->title().isEmpty() && interface->id().isEmpty()) mValid = false; if (mValid) { newToolTip(); refetchIcon(Active); refetchIcon(Passive); refetchIcon(NeedsAttention); newStatus(interface->status()); resetIcon(); connect(interface, SIGNAL(NewIcon()), this, SLOT(newIcon())); connect(interface, SIGNAL(NewOverlayIcon()), this, SLOT(newOverlayIcon())); connect(interface, SIGNAL(NewAttentionIcon()), this, SLOT(newAttentionIcon())); connect(interface, SIGNAL(NewToolTip()), this, SLOT(newToolTip())); connect(interface, SIGNAL(NewStatus(QString)), this, SLOT(newStatus(QString))); } }
WorkoutWindow::WorkoutWindow(Context *context) : GcChartWindow(context), draw(true), context(context), active(false), recording(false) { setContentsMargins(0,0,0,0); setProperty("color", GColor(CTRAINPLOTBACKGROUND)); setControls(NULL); ergFile = NULL; QVBoxLayout *main = new QVBoxLayout; QHBoxLayout *layout = new QHBoxLayout; QVBoxLayout *editor = new QVBoxLayout; setChartLayout(main); connect(context, SIGNAL(configChanged(qint32)), this, SLOT(configChanged(qint32))); // the workout scene workout = new WorkoutWidget(this, context); // paint the TTE curve mmp = new WWMMPCurve(workout); // add a line between the dots line = new WWLine(workout); // block cursos bcursor = new WWBlockCursor(workout); // block selection brect = new WWBlockSelection(workout); // paint the W'bal curve wbline = new WWWBLine(workout, context); // telemetry telemetry = new WWTelemetry(workout, context); // add the power, W'bal scale powerscale = new WWPowerScale(workout, context); wbalscale = new WWWBalScale(workout, context); // lap markers lap = new WWLap(workout); // tte warning bar at bottom tte = new WWTTE(workout); // selection tool rect = new WWRect(workout); // guides always on top! guide = new WWSmartGuide(workout); // recording ... now = new WWNow(workout, context); // scroller, hidden until needed scroll = new QScrollBar(Qt::Horizontal, this); scroll->hide(); // setup the toolbar toolbar = new QToolBar(this); toolbar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); toolbar->setFloatable(true); toolbar->setIconSize(QSize(18 *dpiXFactor,18 *dpiYFactor)); QIcon newIcon(":images/toolbar/new doc.png"); newAct = new QAction(newIcon, tr("New"), this); connect(newAct, SIGNAL(triggered()), this, SLOT(newFile())); toolbar->addAction(newAct); QIcon saveIcon(":images/toolbar/save.png"); saveAct = new QAction(saveIcon, tr("Save"), this); connect(saveAct, SIGNAL(triggered()), this, SLOT(saveFile())); toolbar->addAction(saveAct); QIcon saveAsIcon(":images/toolbar/saveas.png"); saveAsAct = new QAction(saveAsIcon, tr("Save As"), this); connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs())); toolbar->addAction(saveAsAct); toolbar->addSeparator(); //XXX TODO //XXXHelpWhatsThis *helpToolbar = new HelpWhatsThis(toolbar); //XXXtoolbar->setWhatsThis(helpToolbar->getWhatsThisText(HelpWhatsThis::ChartRides_Editor)); // undo and redo deliberately at a distance from the // save icon, since accidentally hitting the wrong // icon in that instance would be horrible QIcon undoIcon(":images/toolbar/undo.png"); undoAct = new QAction(undoIcon, tr("Undo"), this); connect(undoAct, SIGNAL(triggered()), workout, SLOT(undo())); toolbar->addAction(undoAct); QIcon redoIcon(":images/toolbar/redo.png"); redoAct = new QAction(redoIcon, tr("Redo"), this); connect(redoAct, SIGNAL(triggered()), workout, SLOT(redo())); toolbar->addAction(redoAct); toolbar->addSeparator(); QIcon drawIcon(":images/toolbar/edit.png"); drawAct = new QAction(drawIcon, tr("Draw"), this); connect(drawAct, SIGNAL(triggered()), this, SLOT(drawMode())); toolbar->addAction(drawAct); QIcon selectIcon(":images/toolbar/select.png"); selectAct = new QAction(selectIcon, tr("Select"), this); connect(selectAct, SIGNAL(triggered()), this, SLOT(selectMode())); toolbar->addAction(selectAct); selectAct->setEnabled(true); drawAct->setEnabled(false); toolbar->addSeparator(); QIcon cutIcon(":images/toolbar/cut.png"); cutAct = new QAction(cutIcon, tr("Cut"), this); cutAct->setEnabled(true); toolbar->addAction(cutAct); connect(cutAct, SIGNAL(triggered()), workout, SLOT(cut())); QIcon copyIcon(":images/toolbar/copy.png"); copyAct = new QAction(copyIcon, tr("Copy"), this); copyAct->setEnabled(true); toolbar->addAction(copyAct); connect(copyAct, SIGNAL(triggered()), workout, SLOT(copy())); QIcon pasteIcon(":images/toolbar/paste.png"); pasteAct = new QAction(pasteIcon, tr("Paste"), this); pasteAct->setEnabled(false); toolbar->addAction(pasteAct); connect(pasteAct, SIGNAL(triggered()), workout, SLOT(paste())); toolbar->addSeparator(); QIcon propertiesIcon(":images/toolbar/properties.png"); propertiesAct = new QAction(propertiesIcon, tr("Properties"), this); connect(propertiesAct, SIGNAL(triggered()), this, SLOT(properties())); toolbar->addAction(propertiesAct); QIcon zoomInIcon(":images/toolbar/zoom in.png"); zoomInAct = new QAction(zoomInIcon, tr("Zoom In"), this); connect(zoomInAct, SIGNAL(triggered()), this, SLOT(zoomIn())); toolbar->addAction(zoomInAct); QIcon zoomOutIcon(":images/toolbar/zoom out.png"); zoomOutAct = new QAction(zoomOutIcon, tr("Zoom Out"), this); connect(zoomOutAct, SIGNAL(triggered()), this, SLOT(zoomOut())); toolbar->addAction(zoomOutAct); // stretch the labels to the right hand side QWidget *empty = new QWidget(this); empty->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); toolbar->addWidget(empty); xlabel = new QLabel("00:00"); toolbar->addWidget(xlabel); ylabel = new QLabel("150w"); toolbar->addWidget(ylabel); IFlabel = new QLabel("0 Intensity"); toolbar->addWidget(IFlabel); TSSlabel = new QLabel("0 Stress"); toolbar->addWidget(TSSlabel); #if 0 // not yet! // get updates.. connect(context, SIGNAL(telemetryUpdate(RealtimeData)), this, SLOT(telemetryUpdate(RealtimeData))); telemetryUpdate(RealtimeData()); #endif // editing the code... code = new CodeEditor(this); code->setContextMenuPolicy(Qt::NoContextMenu); // no context menu code->installEventFilter(this); // filter the undo/redo stuff code->hide(); // WATTS and Duration for the cursor main->addWidget(toolbar); editor->addWidget(workout); editor->addWidget(scroll); layout->addLayout(editor); layout->addWidget(code); main->addLayout(layout); // make it look right saveAct->setEnabled(false); undoAct->setEnabled(false); redoAct->setEnabled(false); // watch for erg file selection connect(context, SIGNAL(ergFileSelected(ErgFile*)), this, SLOT(ergFileSelected(ErgFile*))); // watch for erg run/stop connect(context, SIGNAL(start()), this, SLOT(start())); connect(context, SIGNAL(stop()), this, SLOT(stop())); // text changed connect(code, SIGNAL(textChanged()), this, SLOT(qwkcodeChanged())); connect(code, SIGNAL(cursorPositionChanged()), workout, SLOT(hoverQwkcode())); // scrollbar connect(scroll, SIGNAL(sliderMoved(int)), this, SLOT(scrollMoved())); // set the widgets etc configChanged(CONFIG_APPEARANCE); }
MainToolBar::MainToolBar(QWidget *parent) : QToolBar(parent) , mCommandButton(new CommandButton(this)) { setObjectName(QLatin1String("MainToolBar")); setWindowTitle(tr("Main Toolbar")); setToolButtonStyle(Qt::ToolButtonFollowStyle); QIcon newIcon(QLatin1String(":images/24x24/document-new.png")); QIcon openIcon(QLatin1String(":images/24x24/document-open.png")); QIcon saveIcon(QLatin1String(":images/24x24/document-save.png")); QIcon undoIcon(QLatin1String(":images/24x24/edit-undo.png")); QIcon redoIcon(QLatin1String(":images/24x24/edit-redo.png")); newIcon.addFile(QLatin1String(":images/16x16/document-new.png")); openIcon.addFile(QLatin1String(":images/16x16/document-open.png")); saveIcon.addFile(QLatin1String(":images/16x16/document-save.png")); redoIcon.addFile(QLatin1String(":images/16x16/edit-redo.png")); undoIcon.addFile(QLatin1String(":images/16x16/edit-undo.png")); mNewButton = new QToolButton(this); mOpenAction = new QAction(this); mSaveAction = new QAction(this); QMenu *newMenu = new QMenu(this); newMenu->addAction(ActionManager::action("NewMap")); newMenu->addAction(ActionManager::action("NewTileset")); mNewButton->setMenu(newMenu); mNewButton->setPopupMode(QToolButton::InstantPopup); QUndoGroup *undoGroup = DocumentManager::instance()->undoGroup(); mUndoAction = undoGroup->createUndoAction(this, tr("Undo")); mRedoAction = undoGroup->createRedoAction(this, tr("Redo")); mNewButton->setIcon(newIcon); mOpenAction->setIcon(openIcon); mSaveAction->setIcon(saveIcon); mUndoAction->setIcon(undoIcon); mRedoAction->setIcon(redoIcon); Utils::setThemeIcon(mNewButton, "document-new"); Utils::setThemeIcon(mOpenAction, "document-open"); Utils::setThemeIcon(mSaveAction, "document-save"); Utils::setThemeIcon(mRedoAction, "edit-redo"); Utils::setThemeIcon(mUndoAction, "edit-undo"); mRedoAction->setPriority(QAction::LowPriority); addWidget(mNewButton); addAction(mOpenAction); addAction(mSaveAction); addSeparator(); addAction(mUndoAction); addAction(mRedoAction); addSeparator(); addWidget(mCommandButton); DocumentManager *documentManager = DocumentManager::instance(); connect(mOpenAction, &QAction::triggered, documentManager, &DocumentManager::openFileDialog); connect(mSaveAction, &QAction::triggered, documentManager, &DocumentManager::saveFile); connect(documentManager, &DocumentManager::currentDocumentChanged, this, &MainToolBar::currentDocumentChanged); connect(this, &MainToolBar::orientationChanged, this, &MainToolBar::onOrientationChanged); retranslateUi(); }
int CSystemImageList::GetIconIndex(enum filetype type, const wxString& fileName /*=_T("")*/, bool physical /*=true*/) { #ifdef __WXMSW__ if (fileName == _T("")) physical = false; SHFILEINFO shFinfo; memset(&shFinfo, 0, sizeof(SHFILEINFO)); if (SHGetFileInfo(fileName != _T("") ? fileName : _T("{B97D3074-1830-4b4a-9D8A-17A38B074052}"), (type != file) ? FILE_ATTRIBUTE_DIRECTORY : FILE_ATTRIBUTE_NORMAL, &shFinfo, sizeof(SHFILEINFO), SHGFI_ICON | ((type == opened_dir) ? SHGFI_OPENICON : 0) | ((physical) ? 0 : SHGFI_USEFILEATTRIBUTES) ) ) { int icon = shFinfo.iIcon; // we only need the index from the system image list DestroyIcon(shFinfo.hIcon); return icon; } #else int icon; switch (type) { case file: default: icon = 0; break; case dir: return 1; case opened_dir: return 2; } wxFileName fn(fileName); wxString ext = fn.GetExt(); if (ext == _T("")) return icon; std::map<wxString, int>::iterator cacheIter = m_iconCache.find(ext); if (cacheIter != m_iconCache.end()) return cacheIter->second; wxFileType *pType = wxTheMimeTypesManager->GetFileTypeFromExtension(ext); if (!pType) { m_iconCache[ext] = icon; return icon; } wxIconLocation loc; if (pType->GetIcon(&loc) && loc.IsOk()) { wxLogNull nul; wxIcon newIcon(loc); if (newIcon.Ok()) { wxBitmap bmp = PrepareIcon(newIcon, wxSize(16, 16)); int index = m_pImageList->Add(bmp); if (index > 0) icon = index; } } delete pType; m_iconCache[ext] = icon; return icon; #endif return -1; }