void QgsCodeEditorHTML::setSciLexerHTML() { QFont font = getMonospaceFont(); #ifdef Q_OS_MAC // The font size gotten from getMonospaceFont() is too small on Mac font.setPointSize( QLabel().font().pointSize() ); #endif QsciLexerHTML *lexer = new QsciLexerHTML( this ); lexer->setDefaultFont( font ); lexer->setFont( font, -1 ); setLexer( lexer ); }
void QgsCodeEditorExpression::initializeLexer() { QFont font = getMonospaceFont(); #ifdef Q_OS_MAC // The font size gotten from getMonospaceFont() is too small on Mac font.setPointSize( QLabel().font().pointSize() ); #endif mSqlLexer = new QgsLexerExpression( this ); mSqlLexer->setDefaultFont( font ); mSqlLexer->setFont( font, -1 ); font.setBold( true ); mSqlLexer->setFont( font, QsciLexerSQL::Keyword ); mSqlLexer->setColor( Qt::darkYellow, QsciLexerSQL::DoubleQuotedString ); // fields setLexer( mSqlLexer ); }
void QgsCodeEditorSQL::setSciLexerSQL() { QFont font = getMonospaceFont(); #ifdef Q_OS_MAC // The font size gotten from getMonospaceFont() is too small on Mac font.setPointSize( QLabel().font().pointSize() ); #endif QsciLexerSQL* sqlLexer = new QgsCaseInsensitiveLexerSQL( this ); sqlLexer->setDefaultFont( font ); sqlLexer->setFont( font, -1 ); font.setBold( true ); sqlLexer->setFont( font, QsciLexerSQL::Keyword ); sqlLexer->setColor( Qt::darkYellow, QsciLexerSQL::DoubleQuotedString ); // fields setLexer( sqlLexer ); }
void game_compatibility::RequestCompatibility(bool online) { // Creates new map from database auto ReadJSON = [=](const QJsonObject& json_data, bool after_download) { int return_code = json_data["return_code"].toInt(); if (return_code < 0) { if (after_download) { std::string error_message; switch (return_code) { case -1: error_message = "Server Error - Internal Error"; break; case -2: error_message = "Server Error - Maintenance Mode"; break; default: error_message = "Server Error - Unknown Error"; break; } LOG_ERROR(GENERAL, "Compatibility error: { %s: return code %d }", error_message, return_code); Q_EMIT DownloadError(qstr(error_message) + " " + QString::number(return_code)); } else { LOG_ERROR(GENERAL, "Compatibility error: { Database Error - Invalid: return code %d }", return_code); } return false; } if (!json_data["results"].isObject()) { LOG_ERROR(GENERAL, "Compatibility error: { Database Error - No Results found }"); return false; } m_compat_database.clear(); QJsonObject json_results = json_data["results"].toObject(); // Retrieve status data for every valid entry for (const auto& key : json_results.keys()) { if (!json_results[key].isObject()) { LOG_ERROR(GENERAL, "Compatibility error: { Database Error - Unusable object %s }", sstr(key)); continue; } QJsonObject json_result = json_results[key].toObject(); // Retrieve compatibility information from json compat_status status = Status_Data.at(json_result.value("status").toString("NoResult")); // Add date if possible status.date = json_result.value("date").toString(); // Add status to map m_compat_database.emplace(std::pair<std::string, compat_status>(sstr(key), status)); } return true; }; if (!online) { // Retrieve database from file QFile file(m_filepath); if (!file.exists()) { LOG_NOTICE(GENERAL, "Compatibility notice: { Database file not found: %s }", sstr(m_filepath)); return; } if (!file.open(QIODevice::ReadOnly)) { LOG_ERROR(GENERAL, "Compatibility error: { Database Error - Could not read database from file: %s }", sstr(m_filepath)); return; } QByteArray data = file.readAll(); file.close(); LOG_NOTICE(GENERAL, "Compatibility notice: { Finished reading database from file: %s }", sstr(m_filepath)); // Create new map from database ReadJSON(QJsonDocument::fromJson(data).object(), online); return; } if (QSslSocket::supportsSsl() == false) { LOG_ERROR(GENERAL, "Can not retrieve the online database! Please make sure your system supports SSL."); QMessageBox::warning(nullptr, tr("Warning!"), tr("Can not retrieve the online database! Please make sure your system supports SSL.")); return; } LOG_NOTICE(GENERAL, "SSL supported! Beginning compatibility database download from: %s", sstr(m_url)); // Send request and wait for response m_network_access_manager.reset(new QNetworkAccessManager()); QNetworkReply* network_reply = m_network_access_manager->get(m_network_request); // Show Progress m_progress_dialog.reset(new QProgressDialog(tr(".Please wait."), tr("Abort"), 0, 100)); m_progress_dialog->setWindowTitle(tr("Downloading Database")); m_progress_dialog->setFixedWidth(QLabel("This is the very length of the progressbar due to hidpi reasons.").sizeHint().width()); m_progress_dialog->setValue(0); m_progress_dialog->show(); // Animate progress dialog a bit more m_progress_timer.reset(new QTimer(this)); connect(m_progress_timer.get(), &QTimer::timeout, [&]() { switch (++m_timer_count % 3) { case 0: m_timer_count = 0; m_progress_dialog->setLabelText(tr(".Please wait.")); break; case 1: m_progress_dialog->setLabelText(tr("..Please wait..")); break; default: m_progress_dialog->setLabelText(tr("...Please wait...")); break; } }); m_progress_timer->start(500); // Handle abort connect(m_progress_dialog.get(), &QProgressDialog::rejected, network_reply, &QNetworkReply::abort); // Handle progress connect(network_reply, &QNetworkReply::downloadProgress, [&](qint64 bytesReceived, qint64 bytesTotal) { m_progress_dialog->setMaximum(bytesTotal); m_progress_dialog->setValue(bytesReceived); }); // Handle response according to its contents connect(network_reply, &QNetworkReply::finished, [=]() { // Clean up Progress Dialog if (m_progress_dialog) { m_progress_dialog->close(); } if (m_progress_timer) { m_progress_timer->stop(); } // Handle Errors if (network_reply->error() != QNetworkReply::NoError) { // We failed to retrieve a new database, therefore refresh gamelist to old state QString error = network_reply->errorString(); Q_EMIT DownloadError(error); LOG_ERROR(GENERAL, "Compatibility error: { Network Error - %s }", sstr(error)); return; } LOG_NOTICE(GENERAL, "Compatibility notice: { Database download finished }"); // Read data from network reply QByteArray data = network_reply->readAll(); network_reply->deleteLater(); // Create new map from database and write database to file if database was valid if (ReadJSON(QJsonDocument::fromJson(data).object(), online)) { // We have a new database in map, therefore refresh gamelist to new state Q_EMIT DownloadFinished(); // Write database to file QFile file(m_filepath); if (file.exists()) { LOG_NOTICE(GENERAL, "Compatibility notice: { Database file found: %s }", sstr(m_filepath)); } if (!file.open(QIODevice::WriteOnly)) { LOG_ERROR(GENERAL, "Compatibility error: { Database Error - Could not write database to file: %s }", sstr(m_filepath)); return; } file.write(data); file.close(); LOG_SUCCESS(GENERAL, "Compatibility success: { Write database to file: %s }", sstr(m_filepath)); } }); // We want to retrieve a new database, therefore refresh gamelist and indicate that Q_EMIT DownloadStarted(); }
ChannelsJoinDialog::ChannelsJoinDialog(const char * name) : QDialog(g_pMainWindow) { setObjectName(name); setWindowTitle(__tr2qs("Join Channels")); setWindowIcon(*(g_pIconManager->getSmallIcon(KviIconManager::Channel))); m_pConsole = 0; QGridLayout * g = new QGridLayout(this); m_pTreeWidget = new ChannelsJoinDialogTreeWidget(this); m_pTreeWidget->setHeaderLabel(__tr2qs("Channel")); m_pTreeWidget->setRootIsDecorated(true); m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); g->addWidget(m_pTreeWidget,0,0,1,2); //connect(m_pTreeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem *,int)),this,SLOT(itemDoubleClicked(QTreeWidgetItem *,int))); m_pGroupBox = new KviTalGroupBox(Qt::Horizontal,__tr2qs("Channel" ),this); QString szMsg = __tr2qs("Name"); szMsg.append(":"); new QLabel(szMsg,m_pGroupBox); m_pChannelEdit = new QLineEdit(m_pGroupBox); connect(m_pChannelEdit,SIGNAL(returnPressed()), this, SLOT(editReturnPressed())); connect(m_pChannelEdit,SIGNAL(textChanged(const QString &)),this,SLOT(editTextChanged(const QString &))); szMsg = __tr2qs("Password"); szMsg.append(":"); QLabel(szMsg,m_pGroupBox); m_pPass = new QLineEdit(m_pGroupBox); m_pPass->setEchoMode(QLineEdit::Password); g->addWidget(m_pGroupBox,1,0,1,2); KviTalHBox * hb = new KviTalHBox(this); hb->setSpacing(4); g->addWidget(hb,2,0,1,2,Qt::AlignHCenter); m_pJoinButton = new QPushButton(__tr2qs("&Join"),hb); // Join on return pressed m_pJoinButton->setDefault(true); connect(m_pJoinButton,SIGNAL(clicked()),this,SLOT(joinClicked())); m_pRegButton = new QPushButton(__tr2qs("&Register"),hb); // Join on return pressed connect(m_pRegButton,SIGNAL(clicked()),this,SLOT(regClicked())); m_pClearButton = new QPushButton(__tr2qs("Clear Recent"),hb); connect(m_pClearButton,SIGNAL(clicked()),this,SLOT(clearClicked())); m_pShowAtStartupCheck = new QCheckBox(__tr2qs("Show this window after connecting"),this); m_pShowAtStartupCheck->setChecked(KVI_OPTION_BOOL(KviOption_boolShowChannelsJoinOnIrc)); g->addWidget(m_pShowAtStartupCheck,3,0); QPushButton * cancelButton = new QPushButton(__tr2qs("Close"),this); connect(cancelButton,SIGNAL(clicked()),this,SLOT(cancelClicked())); g->addWidget(cancelButton,3,1); /* KviTalHBox * hb = new KviTalHBox(this); hb->setSpacing(4); QPushButton * namesButton = new QPushButton("/names", hb); connect(namesButton,SIGNAL(clicked()),this,SLOT(namesClicked())); QPushButton * whoButton = new QPushButton("/who", hb); connect(whoButton,SIGNAL(clicked()),this,SLOT(whoClicked())); g->addWidget(hb,2,0); */ g->setRowStretch(0,1); g->setColumnStretch(0,1); fillListView(); if(g_rectChannelsJoinGeometry.y() < 5) g_rectChannelsJoinGeometry.setY(5); resize(g_rectChannelsJoinGeometry.width(),g_rectChannelsJoinGeometry.height()); //move(g_rectChannelsJoinGeometry.x(),g_rectChannelsJoinGeometry.y()); QRect rect = g_pApp->desktop()->screenGeometry(g_pMainWindow); move(rect.x() + ((rect.width() - g_rectChannelsJoinGeometry.width())/2),rect.y() + ((rect.height() - g_rectChannelsJoinGeometry.height())/2)); enableJoin(); }
boutonsTourner::boutonsTourner ( const QString & text, QWidget * parent , Qt::WindowFlags f ,int _x , int _y,int _s ):x(_x),y(_y),s(-s){ QLabel(text,parent,f); this->show(); }
boutonsTourner::boutonsTourner( QWidget * parent , Qt::WindowFlags f ,int _x , int _y ,int _s):x(_x),y(_y),s(-s){ QLabel(parent,f); this->show(); }
boutonsTourner::boutonsTourner(int _x, int _y,int _s):x(_x),y(_y),s(-s) { QLabel(); this->show(); }
void SetUpStatus::addMessage() { QVBoxLayout *pvbox = new QVBoxLayout; QFont font = QLabel().font(); font.setPointSize(20); font.setBold(true); QGroupBox *groupbox1 = new QGroupBox; QVBoxLayout *python = new QVBoxLayout; QLabel *header1 = new QLabel("Python Executable"); header1->setFont(font); QLabel *message1 = new QLabel( messages[3]); python->addWidget(header1); python->addWidget(message1); groupbox1->setLayout(python); QGroupBox *groupbox2 = new QGroupBox; QVBoxLayout *metapathways = new QVBoxLayout; QLabel *header2 = new QLabel("MetaPathways Directory"); header2->setFont(font); QLabel *message2 = new QLabel( messages[0]); metapathways->addWidget(header2); metapathways->addWidget(message2); groupbox2->setLayout(metapathways); QGroupBox *groupbox3 = new QGroupBox; QVBoxLayout *executables = new QVBoxLayout; QLabel *header3 = new QLabel("Dir for OS specific executables : "); header3->setFont(font); QLabel *message3 = new QLabel( messages[2]); executables->addWidget(header3); executables->addWidget(message3); groupbox3->setLayout(executables); QGroupBox *groupbox4 = new QGroupBox; QVBoxLayout *databases = new QVBoxLayout; QLabel *header4 = new QLabel("Databases directory :"); header4->setFont(font); QLabel *message4 = new QLabel( messages[1]); databases->addWidget(header4); databases->addWidget(message4); groupbox4->setLayout(databases); QGroupBox *groupbox5 = new QGroupBox; QVBoxLayout *pgdbs = new QVBoxLayout; QLabel *header5 = new QLabel("PGDB Folder Path :"); header5->setFont(font); QLabel *message5 = new QLabel( messages[4]); pgdbs->addWidget(header5); pgdbs->addWidget(message5); groupbox5->setLayout(pgdbs); QGroupBox *groupbox6 = new QGroupBox; QVBoxLayout *pathwaytools = new QVBoxLayout; QLabel *header6 = new QLabel("Pathway-Tools executables :"); header6->setFont(font); QLabel *message6 = new QLabel( messages[5]); pathwaytools->addWidget(header6); pathwaytools->addWidget(message6); groupbox6->setLayout(pathwaytools); QGroupBox *groupbox = new QGroupBox; QHBoxLayout* vbox = new QHBoxLayout; QPushButton * cancelButton = new QPushButton("Cancel"); QPushButton *saveButton = new QPushButton("Save"); QSpacerItem * horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); vbox->addItem(horizontalSpacer); vbox->addWidget(cancelButton); vbox->addWidget(saveButton); groupbox->setLayout(vbox); connect(saveButton, SIGNAL(clicked()), this, SLOT(saveConfig() ) ); connect(cancelButton, SIGNAL(clicked()), this, SLOT(destroy())); pvbox->addWidget(groupbox2); pvbox->addWidget(groupbox4); pvbox->addWidget(groupbox3); pvbox->addWidget(groupbox1); pvbox->addWidget(groupbox5); pvbox->addWidget(groupbox6); pvbox->addWidget(groupbox); this->setLayout(pvbox); }
void osk_dialog_frame::Create(const std::string& title, const std::u16string& message, char16_t* init_text, u32 charlimit, u32 options) { state = OskDialogState::Open; static const auto& lineEditWidth = []() {return QLabel("This is the very length of the lineedit due to hidpi reasons.").sizeHint().width(); }; if (m_dialog) { m_dialog->close(); delete m_dialog; } m_dialog = new custom_dialog(false); m_dialog->setModal(true); // Title m_dialog->setWindowTitle(qstr(title)); // Message QLabel* message_label = new QLabel(QString::fromStdU16String(message)); // Text Input Counter const QString text = QString::fromStdU16String(std::u16string(init_text)); QLabel* inputCount = new QLabel(QString("%1/%2").arg(text.length()).arg(charlimit)); // Ok Button QPushButton* button_ok = new QPushButton("Ok", m_dialog); // Button Layout QHBoxLayout* buttonsLayout = new QHBoxLayout; buttonsLayout->setAlignment(Qt::AlignCenter); buttonsLayout->addStretch(); buttonsLayout->addWidget(button_ok); buttonsLayout->addStretch(); // Input Layout QHBoxLayout* inputLayout = new QHBoxLayout; inputLayout->setAlignment(Qt::AlignHCenter); // Text Input if (options & CELL_OSKDIALOG_NO_RETURN) { QLineEdit* input = new QLineEdit(m_dialog); input->setFixedWidth(lineEditWidth()); input->setMaxLength(charlimit); input->setText(text); input->setFocus(); if (options & CELL_OSKDIALOG_NO_SPACE) { input->setValidator(new QRegExpValidator(QRegExp("^\\S*$"), this)); } connect(input, &QLineEdit::textChanged, [=](const QString& text) { inputCount->setText(QString("%1/%2").arg(text.length()).arg(charlimit)); SetOskText(text); on_osk_input_entered(); }); connect(input, &QLineEdit::returnPressed, m_dialog, &QDialog::accept); inputLayout->addWidget(input); } else { QTextEdit* input = new QTextEdit(m_dialog); input->setFixedWidth(lineEditWidth()); input->setText(text); input->setFocus(); input->moveCursor(QTextCursor::End); m_text_old = text; connect(input, &QTextEdit::textChanged, [=]() { QString text = input->toPlainText(); if (text == m_text_old) { return; } QTextCursor cursor = input->textCursor(); const int cursor_pos_new = cursor.position(); const int cursor_pos_old = cursor_pos_new + m_text_old.length() - text.length(); // Reset to old state if character limit was reached if ((u32)m_text_old.length() >= charlimit && (u32)text.length() > charlimit) { input->blockSignals(true); input->setPlainText(m_text_old); cursor.setPosition(cursor_pos_old); input->setTextCursor(cursor); input->blockSignals(false); return; } int cursor_pos = cursor.position(); // Clear text of spaces if necessary if (options & CELL_OSKDIALOG_NO_SPACE) { int trim_len = text.length(); text.remove(QRegExp("\\s+")); trim_len -= text.length(); cursor_pos -= trim_len; } // Crop if more than one character was pasted and the character limit was exceeded text.chop(text.length() - charlimit); // Set new text and block signals to prevent infinite loop input->blockSignals(true); input->setPlainText(text); cursor.setPosition(cursor_pos); input->setTextCursor(cursor); input->blockSignals(false); m_text_old = text; inputCount->setText(QString("%1/%2").arg(text.length()).arg(charlimit)); SetOskText(text); on_osk_input_entered(); }); inputLayout->addWidget(input); } inputLayout->addWidget(inputCount); QFormLayout* layout = new QFormLayout(m_dialog); layout->setFormAlignment(Qt::AlignHCenter); layout->addRow(message_label); layout->addRow(inputLayout); layout->addRow(buttonsLayout); m_dialog->setLayout(layout); // Events connect(button_ok, &QAbstractButton::clicked, m_dialog, &QDialog::accept); connect(m_dialog, &QDialog::accepted, [=] { on_osk_close(CELL_MSGDIALOG_BUTTON_OK); }); connect(m_dialog, &QDialog::rejected, [=] { on_osk_close(CELL_MSGDIALOG_BUTTON_ESCAPE); }); // Fix size m_dialog->layout()->setSizeConstraint(QLayout::SetFixedSize); m_dialog->show(); }