PrefixSettings::PrefixSettings(QString prefix_name, QWidget * parent, Qt::WindowFlags f) : QDialog(parent, f) { // Setup base UI setupUi(this); // Setting class prefix name this->prefix_name=prefix_name; // Loading libq4wine-core.so #ifdef RELEASE libq4wine.setFileName(_CORELIB_PATH_); #else libq4wine.setFileName("../q4wine-lib/libq4wine-core"); #endif if (!libq4wine.load()){ libq4wine.load(); } // Getting corelib calss pointer CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); CoreLib.reset((corelib *)CoreLibClassPointer(true)); this->addNew=false; this->loadThemeIcons(); setWindowIcon(CoreLib->loadIcon(CoreLib->getSetting("app", "icon", false, "q4wine").toString())); QHash<QString,QString> result = db_prefix.getByName(prefix_name); if (result.value("id").isEmpty()) return; prefix_id=result.value("id"); Version ver; ver.id_ = result.value("version_id"); if (!ver.load()){ ver.clear(); ver.name_ = "Default"; if (!ver.load()){ QMessageBox::critical(this, tr("Error"), tr("Unable to load version by name: %1").arg(ver.name_)); return; } } version_name=ver.name_; txtMountPoint->setText(result.value("mount")); connect(txtMountPoint, SIGNAL(editingFinished()), this, SLOT(getWineCdromLetter())); if (prefix_name=="Default"){ txtPrefixName->setEnabled(false); txtPrefixPath->setEnabled(false); cmdGetPrefixPath->setEnabled(false); txtWineLibs->setText(""); txtWineLoaderBin->setText(""); txtWineServerBin->setText(""); txtWineBin->setText(""); } else { cmdGetPrefixPath->installEventFilter(this); txtWineLibs->setText(result.value("libs")); txtWineLoaderBin->setText(result.value("loader")); txtWineServerBin->setText(result.value("server")); txtWineBin->setText(result.value("bin")); if (!result.value("libs").isEmpty()) cmdClnWineLibs->setEnabled(true); if (!result.value("loader").isEmpty()) cmdClnWineLoaderBin->setEnabled(true); if (!result.value("server").isEmpty()) cmdClnWineServerBin->setEnabled(true); if (!result.value("bin").isEmpty()) cmdClnWineBin->setEnabled(true); } // Hide advanced settings if there are no deprecated settings defined if ((txtWineBin->text().isEmpty()) && (txtWineLoaderBin->text().isEmpty()) && (txtWineServerBin->text().isEmpty()) && (txtWineBin->text().isEmpty())){ widDeprecated->setVisible(false); } if (!result.value("arch").isEmpty()) comboArchList->setCurrentIndex(comboArchList->findText(result.value("arch"))); if (!result.value("mountpoint_windrive").isEmpty()){ comboWinDrive->setCurrentIndex(comboWinDrive->findText(result.value("mountpoint_windrive"))); } else { this->getWineCdromLetter(); } txtPrefixName->setText(prefix_name); txtPrefixPath->setText(result.value("path")); connect(cmdCancel, SIGNAL(clicked()), this, SLOT(cmdCancel_Click())); connect(cmdOk, SIGNAL(clicked()), this, SLOT(cmdOk_Click())); connect(cmdHelp, SIGNAL(clicked()), this, SLOT(cmdHelp_Click())); connect(cmdClnWineBin, SIGNAL(clicked()), this, SLOT(cmdClnWineBin_Click())); connect(cmdClnWineServerBin, SIGNAL(clicked()), this, SLOT(cmdClnWineServerBin_Click())); connect(cmdClnWineLoaderBin, SIGNAL(clicked()), this, SLOT(cmdClnWineLoaderBin_Click())); connect(cmdClnWineLibs, SIGNAL(clicked()), this, SLOT(cmdClnWineLibs_Click())); connect(comboVersionList, SIGNAL(currentIndexChanged(const QString)), this, SLOT(comboVersionList_Change(const QString))); connect(comboTemplatesList, SIGNAL(currentIndexChanged(const int)), this, SLOT(comboTemplatesList_Change(const int))); connect(cmdAddVersion, SIGNAL(clicked()), this, SLOT(cmdAddVersion_Click())); getVersionsList(); connect(txtRunString, SIGNAL(textChanged()), this, SLOT(txtRunString_Changed())); // comboArchList->setEnabled(false); txtRunString->setText(result.value("run_string")); cmdGetMountPoint->installEventFilter(this); cmdOk->setFocus(Qt::ActiveWindowFocusReason); return; }
PrefixSettings::PrefixSettings(QString prefix_name, QWidget * parent, Qt::WFlags f) : QDialog(parent, f) { // Setup base UI setupUi(this); // Setting class prefix name this->prefix_name=prefix_name; // Loading libq4wine-core.so #ifdef RELEASE libq4wine.setFileName(_CORELIB_PATH_); #else libq4wine.setFileName("../q4wine-lib/libq4wine-core"); #endif if (!libq4wine.load()){ libq4wine.load(); } // Getting corelib calss pointer CoreLibClassPointer = (CoreLibPrototype *) libq4wine.resolve("createCoreLib"); CoreLib.reset((corelib *)CoreLibClassPointer(true)); this->addNew=false; this->loadThemeIcons(); QHash<QString,QString> result = db_prefix.getByName(prefix_name); if (result.value("id").isEmpty()) return; prefix_id=result.value("id"); txtMountPoint->setText(result.value("mount")); connect(txtMountPoint, SIGNAL(editingFinished()), this, SLOT(getWineCdromLetter())); if (prefix_name=="Default"){ txtPrefixName->setEnabled(FALSE); txtPrefixPath->setEnabled(FALSE); cmdGetPrefixPath->setEnabled(FALSE); txtWineLibs->setEnabled(FALSE); txtWineLoaderBin->setEnabled(FALSE); txtWineServerBin->setEnabled(FALSE); txtWineBin->setEnabled(FALSE); cmdGetWineLibs->setEnabled(FALSE); cmdGetWineLoaderBin->setEnabled(FALSE); cmdGetWineServerBin->setEnabled(FALSE); cmdGetWineBin->setEnabled(FALSE); txtWineLibs->setText(""); txtWineLoaderBin->setText(""); txtWineServerBin->setText(""); txtWineBin->setText(""); } else { cmdGetPrefixPath->installEventFilter(this); cmdGetWineBin->installEventFilter(this); cmdGetWineServerBin->installEventFilter(this); cmdGetWineLoaderBin->installEventFilter(this); cmdGetWineLibs->installEventFilter(this); txtWineLibs->setText(result.value("libs")); txtWineLoaderBin->setText(result.value("loader")); txtWineServerBin->setText(result.value("server")); txtWineBin->setText(result.value("bin")); } if (!result.value("arch").isEmpty()) comboArchList->setCurrentIndex(comboArchList->findText(result.value("arch"))); if (!result.value("mountpoint_windrive").isEmpty()){ comboWinDrive->setCurrentIndex(comboWinDrive->findText(result.value("mountpoint_windrive"))); } else { this->getWineCdromLetter(); } txtPrefixName->setText(prefix_name); txtPrefixPath->setText(result.value("path")); txtRunString->setText(result.value("run_string")); connect(cmdCancel, SIGNAL(clicked()), this, SLOT(cmdCancel_Click())); connect(cmdOk, SIGNAL(clicked()), this, SLOT(cmdOk_Click())); connect(cmdHelp, SIGNAL(clicked()), this, SLOT(cmdHelp_Click())); // comboArchList->setEnabled(false); cmdGetMountPoint->installEventFilter(this); cmdOk->setFocus(Qt::ActiveWindowFocusReason); return; }