void MainWindow::saveScript() { ScriptWidget *sw = qobject_cast<ScriptWidget*>(m_tabs->currentWidget()); if(sw!=0) { if(sw->documentUrl().isEmpty()) saveScriptAs(); else sw->save(); } }
void PythonEditor::createWidgets() { runBt_ = new QToolButton(); runBt_->setIcon(QIcon(":/modules/python/python.png")); runBt_->setIconSize(QSize(24, 24)); runBt_->setShortcut(QKeySequence("Ctrl+R")); runBt_->setToolTip("Run Script (Ctrl+R)"); newBt_ = new QToolButton(); newBt_->setIcon(QIcon(":/modules/python/python_2.png")); newBt_->setIconSize(QSize(24, 24)); newBt_->setToolTip("New Script"); openBt_ = new QToolButton(); openBt_->setIcon(QIcon(":/qt/icons/open.png")); openBt_->setIconSize(QSize(24, 24)); openBt_->setToolTip("Load Script"); saveBt_ = new QToolButton(); saveBt_->setIcon(QIcon(":/qt/icons/save.png")); saveBt_->setIconSize(QSize(24, 24)); saveBt_->setToolTip("Save Script"); saveAsBt_ = new QToolButton(); saveAsBt_->setIcon(QIcon(":/qt/icons/saveas.png")); saveAsBt_->setIconSize(QSize(24, 24)); saveAsBt_->setToolTip("Save Script As"); increaseFontSizeBt_ = new QToolButton(); increaseFontSizeBt_->setIcon(QIcon(":/qt/icons/viewmag+.png")); increaseFontSizeBt_->setIconSize(QSize(24, 24)); increaseFontSizeBt_->setToolTip("Increase Font Size"); decreaseFontSizeBt_ = new QToolButton(); decreaseFontSizeBt_->setIcon(QIcon(":/qt/icons/viewmag_.png")); decreaseFontSizeBt_->setIconSize(QSize(24, 24)); decreaseFontSizeBt_->setToolTip("Decrease Font Size"); QHBoxLayout* hbox = new QHBoxLayout(); hbox->setContentsMargins(0,0,0,0); hbox->addWidget(runBt_); QFrame* sep = new QFrame(); sep->setFrameShape(QFrame::VLine); hbox->addWidget(sep); hbox->addWidget(newBt_); hbox->addWidget(openBt_); hbox->addWidget(saveBt_); hbox->addWidget(saveAsBt_); hbox->addStretch(); hbox->addWidget(increaseFontSizeBt_); hbox->addWidget(decreaseFontSizeBt_); QWidget* toolButtonBar = new QWidget(); toolButtonBar->setLayout(hbox); QFont font; font.setFamily("Courier"); font.setFixedPitch(true); font.setPointSize(fontSize_); codeEdit_ = new CodeEdit(); codeEdit_->setFont(font); highlighter_ = new PythonHighlighter(codeEdit_->document()); compilerLogWidget_ = new QTextEdit(); compilerLogWidget_->setFont(font); compilerLogWidget_->setReadOnly(true); compilerLogWidget_->setFixedHeight(150); QVBoxLayout* vbox = new QVBoxLayout(); vbox->addWidget(toolButtonBar); vbox->addWidget(codeEdit_); vbox->addWidget(compilerLogWidget_); setLayout(vbox); connect(runBt_, SIGNAL(clicked()), this, SLOT(runScript())); connect(newBt_, SIGNAL(clicked()), this, SLOT(newScript())); connect(openBt_, SIGNAL(clicked()), this, SLOT(openScript())); connect(saveBt_, SIGNAL(clicked()), this, SLOT(saveScript())); connect(saveAsBt_, SIGNAL(clicked()), this, SLOT(saveScriptAs())); connect(increaseFontSizeBt_, SIGNAL(clicked()), this, SLOT(increaseFontSize())); connect(decreaseFontSizeBt_, SIGNAL(clicked()), this, SLOT(decreaseFontSize())); connect(codeEdit_, SIGNAL(textChanged()), this, SIGNAL(modified())); setMinimumSize(300, 400); }