void ImageViewer::applyFitMode() { switch(imageFitMode) { case FIT_ORIGINAL: fitNormal(); break; case FIT_WIDTH: fitWidth(); break; case FIT_WINDOW: fitWindow(); break; default: /* FREE etc */ break; } }
Interface::Interface(Plasma::RunnerManager *runnerManager, QWidget *parent) : KRunnerDialog(runnerManager, parent), m_delayedRun(false), m_running(false), m_queryRunning(false) { m_resultData.processHoverEvents = true; m_resultData.mouseHovering = false; m_resultData.runnerManager = runnerManager; m_hideResultsTimer.setSingleShot(true); connect(&m_hideResultsTimer, SIGNAL(timeout()), this, SLOT(hideResultsArea())); m_reenableHoverEventsTimer.setSingleShot(true); m_reenableHoverEventsTimer.setInterval(50); connect(&m_reenableHoverEventsTimer, SIGNAL(timeout()), this, SLOT(reenableHoverEvents())); m_layout = new QVBoxLayout(this); m_layout->setMargin(0); m_buttonContainer = new QWidget(this); QHBoxLayout *bottomLayout = new QHBoxLayout(m_buttonContainer); bottomLayout->setMargin(0); m_configButton = new ToolButton(m_buttonContainer); m_configButton->setText(i18n("Settings")); m_configButton->setToolTip(i18n("Settings")); connect(m_configButton, SIGNAL(clicked()), SLOT(toggleConfigDialog())); bottomLayout->addWidget(m_configButton); //Set up the system activity button, using the krunner global action, showing the global shortcut in the tooltip m_activityButton = new ToolButton(m_buttonContainer); KRunnerApp *krunnerApp = KRunnerApp::self(); QAction *showSystemActivityAction = krunnerApp->actionCollection()->action(QLatin1String( "Show System Activity" )); m_activityButton->setDefaultAction(showSystemActivityAction); updateSystemActivityToolTip(); connect(showSystemActivityAction, SIGNAL(globalShortcutChanged(QKeySequence)), this, SLOT(updateSystemActivityToolTip())); connect(showSystemActivityAction, SIGNAL(triggered(bool)), this, SLOT(resetAndClose())); bottomLayout->addWidget(m_activityButton); m_singleRunnerIcon = new QLabel(); bottomLayout->addWidget(m_singleRunnerIcon); m_singleRunnerDisplayName = new QLabel(); bottomLayout->addWidget(m_singleRunnerDisplayName); m_helpButton = new ToolButton(m_buttonContainer); m_helpButton->setText(i18n("Help")); m_helpButton->setToolTip(i18n("Information on using this application")); connect(m_helpButton, SIGNAL(clicked(bool)), SLOT(showHelp())); connect(m_helpButton, SIGNAL(clicked(bool)), SLOT(configCompleted())); bottomLayout->addWidget(m_helpButton); QSpacerItem* closeButtonSpacer = new QSpacerItem(0,0,QSizePolicy::MinimumExpanding,QSizePolicy::Fixed); bottomLayout->addSpacerItem(closeButtonSpacer); m_closeButton = new ToolButton(m_buttonContainer); KGuiItem guiItem = KStandardGuiItem::close(); m_closeButton->setText(guiItem.text()); m_closeButton->setToolTip(guiItem.text().remove(QLatin1Char( '&' ))); connect(m_closeButton, SIGNAL(clicked(bool)), SLOT(resetAndClose())); bottomLayout->addWidget(m_closeButton); m_layout->addWidget(m_buttonContainer); m_searchTerm = new KrunnerHistoryComboBox(false, this); KLineEdit *lineEdit = new KLineEdit(m_searchTerm); QAction *focusEdit = new QAction(this); focusEdit->setShortcut(Qt::Key_F6); connect(focusEdit, SIGNAL(triggered(bool)), this, SLOT(searchTermSetFocus())); addAction(focusEdit); // the order of these next few lines if very important. // QComboBox::setLineEdit sets the autoComplete flag on the lineedit, // and KComboBox::setAutoComplete resets the autocomplete mode! ugh! m_searchTerm->setLineEdit(lineEdit); m_completion = new KCompletion(); lineEdit->setCompletionObject(m_completion); lineEdit->setCompletionMode(static_cast<KGlobalSettings::Completion>(KRunnerSettings::queryTextCompletionMode())); lineEdit->setClearButtonShown(true); QStringList pastQueryItems = KRunnerSettings::pastQueries(); m_searchTerm->setHistoryItems(pastQueryItems); m_completion->insertItems(pastQueryItems); bottomLayout->insertWidget(4, m_searchTerm, 10); m_singleRunnerSearchTerm = new KLineEdit(this); bottomLayout->insertWidget(4, m_singleRunnerSearchTerm, 10 ); //kDebug() << "size:" << m_resultsView->size() << m_resultsView->minimumSize(); m_resultsScene = new ResultScene(&m_resultData, runnerManager, m_searchTerm, this); m_resultsView = new ResultsView(m_resultsScene, &m_resultData, this); m_layout->addWidget(m_resultsView); connect(m_resultsScene, SIGNAL(viewableHeightChanged()), this, SLOT(fitWindow())); connect(m_resultsScene, SIGNAL(matchCountChanged(int)), this, SLOT(matchCountChanged(int))); connect(m_resultsScene, SIGNAL(itemActivated(ResultItem*)), this, SLOT(run(ResultItem*))); connect(m_searchTerm, SIGNAL(queryTextEdited(QString)), this, SLOT(queryTextEdited(QString))); connect(m_searchTerm, SIGNAL(returnPressed()), this, SLOT(runDefaultResultItem())); connect(m_singleRunnerSearchTerm, SIGNAL(textChanged(QString)), this, SLOT(queryTextEdited(QString))); connect(m_singleRunnerSearchTerm, SIGNAL(returnPressed()), this, SLOT(runDefaultResultItem())); lineEdit->installEventFilter(this); m_searchTerm->installEventFilter(this); themeUpdated(); connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), this, SLOT(themeUpdated())); new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(resetAndClose())); m_layout->setAlignment(Qt::AlignTop); setTabOrder(0, m_configButton); setTabOrder(m_configButton, m_activityButton); setTabOrder(m_activityButton, m_searchTerm); setTabOrder(m_searchTerm, m_singleRunnerSearchTerm); setTabOrder(m_singleRunnerSearchTerm, m_resultsView); setTabOrder(m_resultsView, m_helpButton); setTabOrder(m_helpButton, m_closeButton); //kDebug() << "size:" << m_resultsView->size() << m_resultsView->minimumSize() << minimumSizeHint(); // we restore the original size, which will set the results view back to its // normal size, then we hide the results view and resize the dialog setMinimumSize(QSize(MIN_WIDTH, m_searchTerm->sizeHint().height())); // we load the last used size; the saved value is the size of the dialog when the // results are visible; adjustSize(); if (KGlobal::config()->hasGroup("Interface")) { KConfigGroup interfaceConfig(KGlobal::config(), "Interface"); restoreDialogSize(interfaceConfig); m_defaultSize = size(); } else { const int screenWidth = qApp->desktop()->screenGeometry().width(); int width = size().width(); if (screenWidth >= 1920) { width = qMax(width, 550); } else if (screenWidth >= 1024) { width = qMax(width, 300); } m_defaultSize = QSize(width, 500); } m_resultsView->hide(); m_delayedQueryTimer.setSingleShot(true); m_delayedQueryTimer.setInterval(50); connect(&m_delayedQueryTimer, SIGNAL(timeout()), this, SLOT(delayedQueryLaunch())); m_saveDialogSizeTimer.setSingleShot(true); m_saveDialogSizeTimer.setInterval(1000); connect(&m_saveDialogSizeTimer, SIGNAL(timeout()), SLOT(saveCurrentDialogSize())); QTimer::singleShot(0, this, SLOT(resetInterface())); }
void MainWindow::createActions() { newAct = new QAction(tr("&New Project"), this); newAct->setShortcuts(QKeySequence::New); newAct->setStatusTip(tr("Create a new file")); connect(newAct, SIGNAL(triggered()), this, SLOT(newFile())); openAct = new QAction(tr("&Open Examples"), this); openAct->setShortcuts(QKeySequence::Open); openAct->setStatusTip(tr("Open an existing file")); connect(openAct, SIGNAL(triggered()), this, SLOT(open())); loadAct = new QAction(tr("&Load Project"), this); loadAct->setShortcuts(QKeySequence::Save); loadAct->setStatusTip(tr("Load ")); connect(loadAct, SIGNAL(triggered()), this, SLOT(load())); saveAct = new QAction(tr("&Save"), this); saveAct->setShortcuts(QKeySequence::Save); saveAct->setStatusTip(tr("Save the document to disk")); connect(saveAct, SIGNAL(triggered()), this, SLOT(save())); saveAsAct = new QAction(tr("&SaveAs"), this); saveAsAct ->setShortcuts(QKeySequence::Save); saveAsAct ->setStatusTip(tr("Save the document to disk")); connect(saveAsAct , SIGNAL(triggered()), this, SLOT(save())); savePaletteAct = new QAction(tr("&SavePalette"), this); savePaletteAct ->setShortcuts(QKeySequence::Save); savePaletteAct ->setStatusTip(tr("Save the document to Palette")); connect( savePaletteAct , SIGNAL(triggered()), this, SLOT(savePalette())); loadPaletteAct = new QAction(tr("&LoadPalette"), this); loadPaletteAct->setShortcuts(QKeySequence::Save); loadPaletteAct ->setStatusTip(tr("Load the Document")); connect(loadPaletteAct , SIGNAL(triggered()), this, SLOT(loadPalette())); xportAct = new QAction(tr("E&xport"), this); xportAct->setShortcuts(QKeySequence::Print); xportAct->setStatusTip(tr("Export the document")); connect(xportAct , SIGNAL(triggered()), this, SLOT(xport())); printAct = new QAction(tr("&Print..."), this); printAct->setShortcuts(QKeySequence::Print); printAct->setStatusTip(tr("Print the document")); connect(printAct, SIGNAL(triggered()), this, SLOT(print())); quitAct = new QAction(tr("&Quit"), this); quitAct ->setShortcuts(QKeySequence::Quit); quitAct ->setStatusTip(tr("Exit the application")); connect(quitAct, SIGNAL(triggered()), this, SLOT(close())); undoAct = new QAction(tr("&Undo"), this); undoAct->setShortcuts(QKeySequence::Undo); undoAct->setStatusTip(tr("Undo the last operation")); connect(undoAct, SIGNAL(triggered()), this, SLOT(undo())); redoAct = new QAction(tr("&Redo"), this); redoAct->setShortcuts(QKeySequence::Redo); redoAct->setStatusTip(tr("Redo the last operation")); connect(redoAct, SIGNAL(triggered()), this, SLOT(redo())); cutAct = new QAction(tr("Cu&t"), this); cutAct->setShortcuts(QKeySequence::Cut); cutAct->setStatusTip(tr("Cut the current selection's contents to the " "clipboard")); connect(cutAct, SIGNAL(triggered()), this, SLOT(cut())); copyAct = new QAction(tr("&Copy"), this); copyAct->setShortcuts(QKeySequence::Copy); copyAct->setStatusTip(tr("Copy the current selection's contents to the " "clipboard")); connect(copyAct, SIGNAL(triggered()), this, SLOT(copy())); pasteAct = new QAction(tr("&Paste"), this); pasteAct->setShortcuts(QKeySequence::Paste); pasteAct->setStatusTip(tr("Paste the clipboard's contents into the current " "selection")); connect(pasteAct, SIGNAL(triggered()), this, SLOT(paste())); fullSelectionAct = new QAction(tr("&Fill Selection"), this); fullSelectionAct->setShortcut(tr("CTRL+I")); fullSelectionAct->setStatusTip(tr("Fill selection")); connect(fullSelectionAct, SIGNAL(triggered()), this, SLOT(fullSelection())); blendToolAct = new QAction(tr("&Blend Tool"), this); blendToolAct->setShortcut(tr("CTRL+D")); blendToolAct->setStatusTip(tr("Blend Tool")); connect(blendToolAct, SIGNAL(triggered()), this, SLOT(blendTool())); copyCurrentLayerAct = new QAction(tr("&Copy Current Layer"), this); copyCurrentLayerAct->setShortcuts(QKeySequence::Paste); copyCurrentLayerAct->setStatusTip(tr("Copy Current Laye")); connect(copyCurrentLayerAct, SIGNAL(triggered()), this, SLOT(copyCurrentLayer())); resetAllParametersAct= new QAction(tr("&Reset All Parameters"), this); resetAllParametersAct->setShortcuts(QKeySequence::Paste); resetAllParametersAct->setStatusTip(tr("reset All Parameters")); connect(resetAllParametersAct, SIGNAL(triggered()), this, SLOT(resetAllParameters())); cropInputAct = new QAction(tr("&Crop Input"), this); cropInputAct->setShortcuts(QKeySequence::Paste); cropInputAct->setStatusTip(tr("Crop Input")); connect(cropInputAct, SIGNAL(triggered()), this, SLOT(cropInput())); cropOutputAct = new QAction(tr("&Crop Output"), this); cropOutputAct ->setShortcuts(QKeySequence::Paste); cropOutputAct ->setStatusTip(tr("Crop Output")); connect(cropOutputAct , SIGNAL(triggered()), this, SLOT(cropOutput ())); zoomInAct = new QAction(tr("&zoom In"), this); zoomInAct ->setShortcuts(QKeySequence::Paste); zoomInAct ->setStatusTip(tr("zoom In")); connect(zoomInAct , SIGNAL(triggered()), this, SLOT(zoomIn())); zoomOutAct = new QAction(tr("&zoom Out"), this); zoomOutAct ->setShortcuts(QKeySequence::Paste); zoomOutAct ->setStatusTip(tr("zoom Out")); connect(zoomOutAct , SIGNAL(triggered()), this, SLOT(zoomOut() )); fitWindowAct = new QAction(tr("&fit Window"), this); fitWindowAct ->setShortcuts(QKeySequence::Paste); fitWindowAct ->setStatusTip(tr("fit Window")); connect(fitWindowAct , SIGNAL(triggered()), this, SLOT(fitWindow())); fullscreenAct= new QAction(tr("&full Screen"), this); fullscreenAct ->setShortcuts(QKeySequence::Paste); fullscreenAct ->setStatusTip(tr("full Screen")); connect(fullscreenAct , SIGNAL(triggered()), this, SLOT(fullscreen())); /* toggleSectionsAct = new QAction(tr("&Toggle Sections "), this); toggleSectionsAct ->setShortcuts(QKeySequence::Paste); toggleSectionsAct ->setStatusTip(tr("Crop Output")); connect(toggleSectionsAct , SIGNAL(triggered()), this, SLOT(toggleSections ())); */ /* boldAct = new QAction(tr("&Bold"), this); boldAct->setCheckable(true); boldAct->setShortcut(QKeySequence::Bold); boldAct->setStatusTip(tr("Make the text bold")); connect(boldAct, SIGNAL(triggered()), this, SLOT(bold())); QFont boldFont = boldAct->font(); boldFont.setBold(true); boldAct->setFont(boldFont); italicAct = new QAction(tr("&Italic"), this); italicAct->setCheckable(true); italicAct->setShortcut(QKeySequence::Italic); italicAct->setStatusTip(tr("Make the text italic")); connect(italicAct, SIGNAL(triggered()), this, SLOT(italic())); QFont italicFont = italicAct->font(); italicFont.setItalic(true); italicAct->setFont(italicFont); setLineSpacingAct = new QAction(tr("Set &Line Spacing..."), this); setLineSpacingAct->setStatusTip(tr("Change the gap between the lines of a " "paragraph")); connect(setLineSpacingAct, SIGNAL(triggered()), this, SLOT(setLineSpacing())); setParagraphSpacingAct = new QAction(tr("Set &Paragraph Spacing..."), this); setParagraphSpacingAct->setStatusTip(tr("Change the gap between paragraphs")); connect(setParagraphSpacingAct, SIGNAL(triggered()), this, SLOT(setParagraphSpacing())); aboutAct = new QAction(tr("&About"), this); aboutAct->setStatusTip(tr("Show the application's About box")); connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); aboutQtAct = new QAction(tr("About &Qt"), this); aboutQtAct->setStatusTip(tr("Show the Qt library's About box")); connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(aboutQtAct, SIGNAL(triggered()), this, SLOT(aboutQt())); leftAlignAct = new QAction(tr("&Left Align"), this); leftAlignAct->setCheckable(true); leftAlignAct->setShortcut(tr("Ctrl+L")); leftAlignAct->setStatusTip(tr("Left align the selected text")); connect(leftAlignAct, SIGNAL(triggered()), this, SLOT(leftAlign())); rightAlignAct = new QAction(tr("&Right Align"), this); rightAlignAct->setCheckable(true); rightAlignAct->setShortcut(tr("Ctrl+R")); rightAlignAct->setStatusTip(tr("Right align the selected text")); connect(rightAlignAct, SIGNAL(triggered()), this, SLOT(rightAlign())); justifyAct = new QAction(tr("&Justify"), this); justifyAct->setCheckable(true); justifyAct->setShortcut(tr("Ctrl+J")); justifyAct->setStatusTip(tr("Justify the selected text")); connect(justifyAct, SIGNAL(triggered()), this, SLOT(justify())); centerAct = new QAction(tr("&Center"), this); centerAct->setCheckable(true); centerAct->setShortcut(tr("Ctrl+E")); centerAct->setStatusTip(tr("Center the selected text")); connect(centerAct, SIGNAL(triggered()), this, SLOT(center())); alignmentGroup = new QActionGroup(this); alignmentGroup->addAction(leftAlignAct); alignmentGroup->addAction(rightAlignAct); alignmentGroup->addAction(justifyAct); alignmentGroup->addAction(centerAct); leftAlignAct->setChecked(true);*/ }
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { WindowDetails* details = DefineWindow(hInstance, nShowCmd); MSG msg; int rows = details->Height / gCellSize + 2; int columns = details->Width / gCellSize + 2; int prevCellSize = gCellSize; int* sim = createSimulationMatrix(rows, columns, gBoundary); populateSimulation(gSimulationMode, sim, rows, columns, 0.35); clock_t prevTime = clock(); while (running) { while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessageW(&msg); } if (prevCellSize != gCellSize) { fitWindow(gCellSize, prevCellSize, details); prevCellSize = gCellSize; } switch (ButtonMessage) { case 1: free(sim); sim = createSimulationMatrix(rows, columns, gBoundary); populateSimulation(gSimulationMode, sim, rows, columns, 0.35); generation = 0; break; case 2: gSimulationMode++; if (gSimulationMode > 2) gSimulationMode = 0; free(sim); sim = createSimulationMatrix(rows, columns, gBoundary); populateSimulation(gSimulationMode, sim, rows, columns, 0.35); generation = 0; break; case 3: gBoundary = !gBoundary; break; } ButtonMessage = 0; clock_t curTime = clock(); if (((double)(curTime - prevTime) / CLOCKS_PER_SEC) >= gStepsPerSecond && !paused) { prevTime = curTime; generation++; swprintf_s(title, 256, titleFormat, generation, gSimulationMode, gBoundary, (int)(1 / gStepsPerSecond)); SetWindowTextW(details->Window, title); int* newSim = stepSimulation(gSimulationMode, details->BackBuffer, details->Width, sim, rows, columns, gBoundary, gCellSize); sim = newSim; StretchDIBits(details->DC, 0, 0, details->Width, details->Height, 0, 0, details->BitMapInfo.bmiHeader.biWidth, Abs(details->BitMapInfo.bmiHeader.biHeight), details->BackBuffer, &details->BitMapInfo, DIB_RGB_COLORS, SRCCOPY); } } ReleaseDC(NULL, details->DC); free(details->BackBuffer); free(details); return EXIT_SUCCESS; }