void PropertiesDialog::bookmarksButton_clicked() { QFileDialog dia(this, tr("Open or create bookmarks file")); dia.setConfirmOverwrite(false); dia.setFileMode(QFileDialog::AnyFile); if (!dia.exec()) return; QString fname = dia.selectedFiles().count() ? dia.selectedFiles().at(0) : QString(); if (fname.isNull()) return; bookmarksLineEdit->setText(fname); openBookmarksFile(bookmarksLineEdit->text()); }
PropertiesDialog::PropertiesDialog(QWidget *parent) : QDialog(parent) { setupUi(this); connect(buttonBox->button(QDialogButtonBox::Apply), &QPushButton::clicked, this, &PropertiesDialog::apply); connect(changeFontButton, &QPushButton::clicked, this, &PropertiesDialog::changeFontButton_clicked); connect(chooseBackgroundImageButton, &QPushButton::clicked, this, &PropertiesDialog::chooseBackgroundImageButton_clicked); QStringList emulations = QTermWidget::availableKeyBindings(); QStringList colorSchemes = QTermWidget::availableColorSchemes(); colorSchemes.sort(Qt::CaseInsensitive); listWidget->setCurrentRow(0); listWidget->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContentsOnFirstShow); colorSchemaCombo->addItems(colorSchemes); int csix = colorSchemaCombo->findText(Properties::Instance()->colorScheme); if (csix != -1) colorSchemaCombo->setCurrentIndex(csix); backgroundImageLineEdit->setText(Properties::Instance()->backgroundImage); emulationComboBox->addItems(emulations); int eix = emulationComboBox->findText(Properties::Instance()->emulation); emulationComboBox->setCurrentIndex(eix != -1 ? eix : 0 ); /* set the delegate of shortcut widget as well as its contents */ Delegate *del = new Delegate(shortcutsWidget); shortcutsWidget->setItemDelegate(del); shortcutsWidget->sortByColumn(0, Qt::AscendingOrder); setupShortcuts(); /* scrollbar position */ QStringList scrollBarPosList; scrollBarPosList << tr("No scrollbar") << tr("Left") << tr("Right"); scrollBarPos_comboBox->addItems(scrollBarPosList); scrollBarPos_comboBox->setCurrentIndex(Properties::Instance()->scrollBarPos); /* tabs position */ QStringList tabsPosList; tabsPosList << tr("Top") << tr("Bottom") << tr("Left") << tr("Right"); tabsPos_comboBox->addItems(tabsPosList); tabsPos_comboBox->setCurrentIndex(Properties::Instance()->tabsPos); /* tab width */ fixedTabWidthCheckBox->setChecked(Properties::Instance()->fixedTabWidth); fixedTabWidthSpinBox->setValue(Properties::Instance()->fixedTabWidthValue); closeTabButtonCheckBox->setChecked(Properties::Instance()->showCloseTabButton); /* keyboard cursor shape */ QStringList keyboardCursorShapeList; keyboardCursorShapeList << tr("BlockCursor") << tr("UnderlineCursor") << tr("IBeamCursor"); keybCursorShape_comboBox->addItems(keyboardCursorShapeList); keybCursorShape_comboBox->setCurrentIndex(Properties::Instance()->keyboardCursorShape); hideTabBarCheckBox->setChecked(Properties::Instance()->hideTabBarWithOneTab); // show main menu bar showMenuCheckBox->setChecked(Properties::Instance()->menuVisible); /* actions by motion after paste */ QStringList motionAfter; motionAfter << tr("No move") << tr("Move start") << tr("Move end"); motionAfterPasting_comboBox->addItems(motionAfter); motionAfterPasting_comboBox->setCurrentIndex(Properties::Instance()->m_motionAfterPaste); // Setting windows style actions styleComboBox->addItem(tr("System Default")); styleComboBox->addItems(QStyleFactory::keys()); int ix = styleComboBox->findText(Properties::Instance()->guiStyle); if (ix != -1) styleComboBox->setCurrentIndex(ix); setFontSample(Properties::Instance()->font); terminalMarginSpinBox->setValue(Properties::Instance()->terminalMargin); appTransparencyBox->setValue(Properties::Instance()->appTransparency); termTransparencyBox->setValue(Properties::Instance()->termTransparency); highlightCurrentCheckBox->setChecked(Properties::Instance()->highlightCurrentTerminal); showTerminalSizeHintCheckBox->setChecked(Properties::Instance()->showTerminalSizeHint); askOnExitCheckBox->setChecked(Properties::Instance()->askOnExit); savePosOnExitCheckBox->setChecked(Properties::Instance()->savePosOnExit); saveSizeOnExitCheckBox->setChecked(Properties::Instance()->saveSizeOnExit); useCwdCheckBox->setChecked(Properties::Instance()->useCWD); termComboBox->setCurrentText(Properties::Instance()->term); historyLimited->setChecked(Properties::Instance()->historyLimited); historyUnlimited->setChecked(!Properties::Instance()->historyLimited); historyLimitedTo->setValue(Properties::Instance()->historyLimitedTo); dropShowOnStartCheckBox->setChecked(Properties::Instance()->dropShowOnStart); dropHeightSpinBox->setValue(Properties::Instance()->dropHeight); dropHeightSpinBox->setMaximum(100); dropWidthSpinBox->setValue(Properties::Instance()->dropWidht); dropWidthSpinBox->setMaximum(100); dropShortCutEdit->setText(Properties::Instance()->dropShortCut.toString()); useBookmarksCheckBox->setChecked(Properties::Instance()->useBookmarks); bookmarksLineEdit->setText(Properties::Instance()->bookmarksFile); openBookmarksFile(Properties::Instance()->bookmarksFile); connect(bookmarksButton, &QPushButton::clicked, this, &PropertiesDialog::bookmarksButton_clicked); terminalPresetComboBox->setCurrentIndex(Properties::Instance()->terminalsPreset); changeWindowTitleCheckBox->setChecked(Properties::Instance()->changeWindowTitle); changeWindowIconCheckBox->setChecked(Properties::Instance()->changeWindowIcon); enabledBidiSupportCheckBox->setChecked(Properties::Instance()->enabledBidiSupport); trimPastedTrailingNewlinesCheckBox->setChecked(Properties::Instance()->trimPastedTrailingNewlines); confirmMultilinePasteCheckBox->setChecked(Properties::Instance()->confirmMultilinePaste); // show it compact inside available desktop geometry QSize ag; if (parent != nullptr) { if (QWindow *win = parent->windowHandle()) { if (QScreen *sc = win->screen()) ag = sc->availableVirtualGeometry().size(); } } resize(sizeHint().boundedTo(ag)); }
PropertiesDialog::PropertiesDialog(QWidget *parent) : QDialog(parent) { setupUi(this); connect(buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply())); connect(changeFontButton, SIGNAL(clicked()), this, SLOT(changeFontButton_clicked())); connect(chooseBackgroundImageButton, &QPushButton::clicked, this, &PropertiesDialog::chooseBackgroundImageButton_clicked); QStringList emulations = QTermWidget::availableKeyBindings(); QStringList colorSchemes = QTermWidget::availableColorSchemes(); listWidget->setCurrentRow(0); listWidget->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContentsOnFirstShow); colorSchemaCombo->addItems(colorSchemes); int csix = colorSchemaCombo->findText(Properties::Instance()->colorScheme); if (csix != -1) colorSchemaCombo->setCurrentIndex(csix); backgroundImageLineEdit->setText(Properties::Instance()->backgroundImage); emulationComboBox->addItems(emulations); int eix = emulationComboBox->findText(Properties::Instance()->emulation); emulationComboBox->setCurrentIndex(eix != -1 ? eix : 0 ); /* shortcuts */ setupShortcuts(); /* scrollbar position */ QStringList scrollBarPosList; scrollBarPosList << tr("No scrollbar") << tr("Left") << tr("Right"); scrollBarPos_comboBox->addItems(scrollBarPosList); scrollBarPos_comboBox->setCurrentIndex(Properties::Instance()->scrollBarPos); /* tabs position */ QStringList tabsPosList; tabsPosList << tr("Top") << tr("Bottom") << tr("Left") << tr("Right"); tabsPos_comboBox->addItems(tabsPosList); tabsPos_comboBox->setCurrentIndex(Properties::Instance()->tabsPos); /* keyboard cursor shape */ QStringList keyboardCursorShapeList; keyboardCursorShapeList << tr("BlockCursor") << tr("UnderlineCursor") << tr("IBeamCursor"); keybCursorShape_comboBox->addItems(keyboardCursorShapeList); keybCursorShape_comboBox->setCurrentIndex(Properties::Instance()->keyboardCursorShape); hideTabBarCheckBox->setChecked(Properties::Instance()->hideTabBarWithOneTab); // show main menu bar showMenuCheckBox->setChecked(Properties::Instance()->menuVisible); /* actions by motion after paste */ QStringList motionAfter; motionAfter << tr("No move") << tr("Move start") << tr("Move end"); motionAfterPasting_comboBox->addItems(motionAfter); motionAfterPasting_comboBox->setCurrentIndex(Properties::Instance()->m_motionAfterPaste); // Setting windows style actions styleComboBox->addItem(tr("System Default")); styleComboBox->addItems(QStyleFactory::keys()); int ix = styleComboBox->findText(Properties::Instance()->guiStyle); if (ix != -1) styleComboBox->setCurrentIndex(ix); setFontSample(Properties::Instance()->font); appTransparencyBox->setValue(Properties::Instance()->appTransparency); termTransparencyBox->setValue(Properties::Instance()->termTransparency); highlightCurrentCheckBox->setChecked(Properties::Instance()->highlightCurrentTerminal); askOnExitCheckBox->setChecked(Properties::Instance()->askOnExit); savePosOnExitCheckBox->setChecked(Properties::Instance()->savePosOnExit); saveSizeOnExitCheckBox->setChecked(Properties::Instance()->saveSizeOnExit); useCwdCheckBox->setChecked(Properties::Instance()->useCWD); historyLimited->setChecked(Properties::Instance()->historyLimited); historyUnlimited->setChecked(!Properties::Instance()->historyLimited); historyLimitedTo->setValue(Properties::Instance()->historyLimitedTo); dropShowOnStartCheckBox->setChecked(Properties::Instance()->dropShowOnStart); dropHeightSpinBox->setValue(Properties::Instance()->dropHeight); dropHeightSpinBox->setMaximum(100); dropWidthSpinBox->setValue(Properties::Instance()->dropWidht); dropWidthSpinBox->setMaximum(100); dropShortCutEdit->setText(Properties::Instance()->dropShortCut.toString()); useBookmarksCheckBox->setChecked(Properties::Instance()->useBookmarks); bookmarksLineEdit->setText(Properties::Instance()->bookmarksFile); openBookmarksFile(Properties::Instance()->bookmarksFile); connect(bookmarksButton, SIGNAL(clicked()), this, SLOT(bookmarksButton_clicked())); terminalPresetComboBox->setCurrentIndex(Properties::Instance()->terminalsPreset); changeWindowTitleCheckBox->setChecked(Properties::Instance()->changeWindowTitle); changeWindowIconCheckBox->setChecked(Properties::Instance()->changeWindowIcon); trimPastedTrailingNewlinesCheckBox->setChecked(Properties::Instance()->trimPastedTrailingNewlines); confirmMultilinePasteCheckBox->setChecked(Properties::Instance()->confirmMultilinePaste); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // Menu QMenu* modelMenu = menuBar()->addMenu("&Model"); modelMenu->addAction("&Open model...", this, SLOT(openModel()) ); modelMenu->addSeparator(); modelMenu->addAction("&Close model", this, SLOT(closeModel()) ); QMenu* markMenu = menuBar()->addMenu("&Bookmarks"); markMenu->addAction("&New file...", this, SLOT(closeBookmarksFile()) ); markMenu->addAction("&Open file...", this, SLOT(openBookmarksFile()) ); markMenu->addSeparator(); markMenu->addAction("&Close file", this, SLOT(closeBookmarksFile()) ); markMenu->addSeparator(); markMenu->addAction("&Save file", this, SLOT(saveBookmarksFile())); markMenu->addAction("&Save file as...", this, SLOT(saveAsBookmarksFile())); QMenu* viewMenu = menuBar()->addMenu("&View"); viewMenu->addAction("&View as points", this, SLOT(viewAsPoints()) ); viewMenu->addAction("&View as wired", this, SLOT(viewAsWired()) ); viewMenu->addAction("&View as solid", this, SLOT(viewAsSolid()) ); viewMenu->addAction("&View as solid + wired",this, SLOT(viewAsSolidWire()) ); QMenu* modeMenu = menuBar()->addMenu("&Mode"); modeMenu->addAction("&Viewer", this, SLOT(viewerMode()) ); modeMenu->addAction("&Editor", this, SLOT(editorMode()) ); modeMenu->addAction("&Ask Me!", this, SLOT(testMode()) ); // Section list panel buttons. QObject::connect(ui->addButton, SIGNAL(clicked()), this, SLOT(showAddSectionPanel())); QObject::connect(ui->editButton, SIGNAL(clicked()), this, SLOT(showEditSectionPanel())); QObject::connect(ui->deleteButton, SIGNAL(clicked()), this, SLOT(deleteCurrentSection())); QObject::connect(ui->infoButton, SIGNAL(clicked()), this, SLOT(showInfoSectionPanel())); QObject::connect(ui->listWidget, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(listWidgetItemClicked(QListWidgetItem*))); // Add bookmark panel buttons. QObject::connect(ui->addModeButton, SIGNAL(clicked()), this, SLOT(setAddSelectionMode())); QObject::connect(ui->removeModeButton, SIGNAL(clicked()), this, SLOT(setRemoveSelectionMode())); QObject::connect(ui->saveButton, SIGNAL(clicked()), this, SLOT(saveBookmark())); QObject::connect(ui->discardButton, SIGNAL(clicked()), this, SLOT(discardBookmark())); QObject::connect(ui->brushSizeSlider, SIGNAL(valueChanged(int)), this, SLOT(setBrushSize(int))); // Information panel buttons QObject::connect(ui->backButton, SIGNAL(clicked()), this, SLOT(showListPanel())); // Test panel buttons QObject::connect(ui->nextQuestionButton, SIGNAL(clicked()), this, SLOT(nextQuestion())); QObject::connect(ui->glwidget, SIGNAL(pickResult(std::set<unsigned int>)), this, SLOT(checkResponse(std::set<unsigned int>))); // Set window title. setWindowTitle("untitled.txt"); // Initialize variables. _bookmarkList = new BookmarkList(); clearBookmarkList(); _model = new Model(); _indexTest = 0; // Set viewer mode. viewerMode(); // Show welcome message statusBar()->showMessage("Welcome to 3D Marker."); }