SettingsModel::~SettingsModel() { if (!m_changed) return; QDir settingsDir(m_settingsRoot); settingsDir.cd("picture_search"); QSettings settings(settingsDir.filePath("settings.ini"),QSettings::IniFormat); settings.beginGroup("QSQLITE"); settings.setValue("host",m_data.at(0).at(DatabaseSettings::Host)); settings.setValue("database",m_data.at(0).at(DatabaseSettings::Database)); settings.setValue("user",m_data.at(0).at(DatabaseSettings::User)); settings.setValue("pass",m_data.at(0).at(DatabaseSettings::Pass)); settings.setValue("preview_dir",m_data.at(0).at(DatabaseSettings::PreviewDir)); settings.endGroup(); settings.beginGroup("QMYSQL"); settings.setValue("host",m_data.at(1).at(DatabaseSettings::Host)); settings.setValue("database",m_data.at(1).at(DatabaseSettings::Database)); settings.setValue("user",m_data.at(1).at(DatabaseSettings::User)); settings.setValue("pass",m_data.at(1).at(DatabaseSettings::Pass)); settings.setValue("preview_dir",m_data.at(1).at(DatabaseSettings::PreviewDir)); settings.endGroup(); settings.beginGroup("DRIVER"); settings.setValue("index",m_driver); settings.endGroup(); }
Filesystem::Filesystem() { #ifdef OCHER_TARGET_KOBO m_home = "/mnt/onboard/.ocher"; m_settings = "/mnt/onboard/.ocher/settings"; #else clc::Buffer s = settingsDir(); m_home = strdup(s.c_str()); #if defined(_WIN32) || defined(__HAIKU__) || defined(__APPLE__) clc::Path::join(s, "OcherBook"); #else clc::Path::join(s, ".OcherBook"); #endif ::mkdir(s.c_str(), 0775); clc::Path::join(s, "settings"); m_settings = strdup(s.c_str()); #endif }
void FaceTrackNoIR::fill_profile_cbx() { if (looping) return; looping++; QSettings settings("opentrack"); QString currentFile = settings.value ( "SettingsFile", QCoreApplication::applicationDirPath() + "/settings/default.ini" ).toString(); qDebug() << "Config file now" << currentFile; QFileInfo pathInfo ( currentFile ); setWindowTitle(QString( OPENTRACK_VERSION " :: ") + pathInfo.fileName()); QDir settingsDir( pathInfo.dir() ); QStringList filters; filters << "*.ini"; auto iniFileList = settingsDir.entryList( filters, QDir::Files, QDir::Name ); ui.iconcomboProfile->clear(); for ( int i = 0; i < iniFileList.size(); i++) ui.iconcomboProfile->addItem(QIcon(":/images/settings16.png"), iniFileList.at(i)); ui.iconcomboProfile->setCurrentText(pathInfo.fileName()); looping--; }
static void fill_combobox(const QString& filter, QList<DynamicLibrary*>& list, QComboBox* cbx, QComboBox* cbx2) { QDir settingsDir( QCoreApplication::applicationDirPath() ); QStringList filenames = settingsDir.entryList( QStringList() << (LIB_PREFIX + filter + SONAME), QDir::Files, QDir::Name ); for ( int i = 0; i < filenames.size(); i++) { QIcon icon; QString longName; QString str = filenames.at(i); DynamicLibrary* lib = new DynamicLibrary(str); qDebug() << "Loading" << str; std::cout.flush(); if (!get_metadata(lib, longName, icon)) { delete lib; continue; } list.push_back(lib); cbx->addItem(icon, longName); if (cbx2) cbx2->addItem(icon, longName); } }
ConfigurationManager::ConfigurationManager() : QDialog() , ui(new Ui::ConfigurationManager) , m_datfilename() , m_options() , m_theme() , m_commands() { ui->setupUi(this); ui->scrollAreaCommand->hide(); ClipboardBrowser *c = ui->clipboardBrowserPreview; c->addItems( QStringList() << tr("Search string is \"item\".") << tr("Select an item and\n" "press F2 to edit.") << tr("Select items and move them with\n" "CTRL and up or down key.") << tr("Remove item with Delete key.") << tr("Example item %1").arg(1) << tr("Example item %1").arg(2) << tr("Example item %1").arg(3) ); c->filterItems( tr("item") ); #ifdef NO_GLOBAL_SHORTCUTS ui->tabShortcuts->deleteLater(); #endif Command cmd; int i = 0; QMenu *menu = new QMenu(ui->toolButtonAddCommand); ui->toolButtonAddCommand->setMenu(menu); while ( defaultCommand(++i, &cmd) ) { menu->addAction( IconFactory::iconFromFile(cmd.icon), cmd.name.remove('&') ) ->setProperty("COMMAND", i); } /* general options */ m_options["maxitems"] = Option(200, "value", ui->spinBoxItems); m_options["editor"] = Option(DEFAULT_EDITOR, "text", ui->lineEditEditor); m_options["edit_ctrl_return"] = Option(true, "checked", ui->checkBoxEditCtrlReturn); m_options["check_clipboard"] = Option(true, "checked", ui->checkBoxClip); m_options["confirm_exit"] = Option(true, "checked", ui->checkBoxConfirmExit); m_options["vi"] = Option(false, "checked", ui->checkBoxViMode); m_options["always_on_top"] = Option(false, "checked", ui->checkBoxAlwaysOnTop); m_options["tab_position"] = Option(0, "currentIndex", ui->comboBoxTabPosition); m_options["text_wrap"] = Option(true, "checked", ui->checkBoxTextWrap); m_options["tray_items"] = Option(5, "value", ui->spinBoxTrayItems); m_options["tray_commands"] = Option(true, "checked", ui->checkBoxTrayShowCommands); m_options["tray_tab_is_current"] = Option(true, "checked", ui->checkBoxMenuTabIsCurrent); m_options["tray_images"] = Option(true, "checked", ui->checkBoxTrayImages); m_options["tray_tab"] = Option("", "text", ui->comboBoxMenuTab->lineEdit()); // Tooltip to show on command line. ui->comboBoxMenuTab->lineEdit()->setToolTip( ui->comboBoxMenuTab->toolTip() ); /* other options */ m_options["tabs"] = Option(QStringList()); m_options["command_history_size"] = Option(100); m_options["_last_hash"] = Option(0); #ifndef NO_GLOBAL_SHORTCUTS /* shortcuts */ m_options["toggle_shortcut"] = Option("", "text", ui->pushButton); m_options["menu_shortcut"] = Option("", "text", ui->pushButton_2); m_options["edit_clipboard_shortcut"] = Option("", "text", ui->pushButton_3); m_options["edit_shortcut"] = Option("", "text", ui->pushButton_4); m_options["second_shortcut"] = Option("", "text", ui->pushButton_5); m_options["show_action_dialog"] = Option("", "text", ui->pushButton_6); m_options["new_item_shortcut"] = Option("", "text", ui->pushButton_7); #endif #ifdef COPYQ_WS_X11 /* X11 clipboard selection monitoring and synchronization */ m_options["check_selection"] = Option(true, "checked", ui->checkBoxSel); m_options["copy_clipboard"] = Option(true, "checked", ui->checkBoxCopyClip); m_options["copy_selection"] = Option(true, "checked", ui->checkBoxCopySel); #else ui->checkBoxCopySel->hide(); ui->checkBoxSel->hide(); ui->checkBoxCopyClip->hide(); #endif // values of last submitted action m_options["action_has_input"] = Option(false); m_options["action_has_output"] = Option(false); m_options["action_separator"] = Option("\\n"); m_options["action_output_tab"] = Option(""); /* appearance options */ QString name; QPalette p; name = p.color(QPalette::Base).name(); m_theme["bg"] = Option(name, "VALUE", ui->pushButtonColorBg); m_theme["edit_bg"] = Option(name, "VALUE", ui->pushButtonColorEditorBg); name = p.color(QPalette::Text).name(); m_theme["fg"] = Option(name, "VALUE", ui->pushButtonColorFg); m_theme["edit_fg"] = Option(name, "VALUE", ui->pushButtonColorEditorFg); name = p.color(QPalette::Text).lighter(400).name(); m_theme["num_fg"] = Option(name, "VALUE", ui->pushButtonColorNumberFg); name = p.color(QPalette::AlternateBase).name(); m_theme["alt_bg"] = Option(name, "VALUE", ui->pushButtonColorAltBg); name = p.color(QPalette::Highlight).name(); m_theme["sel_bg"] = Option(name, "VALUE", ui->pushButtonColorSelBg); name = p.color(QPalette::HighlightedText).name(); m_theme["sel_fg"] = Option(name, "VALUE", ui->pushButtonColorSelFg); m_theme["find_bg"] = Option("#ff0", "VALUE", ui->pushButtonColorFindBg); m_theme["find_fg"] = Option("#000", "VALUE", ui->pushButtonColorFindFg); m_theme["font"] = Option("", "VALUE", ui->pushButtonFont); m_theme["edit_font"] = Option("", "VALUE", ui->pushButtonEditorFont); m_theme["find_font"] = Option("", "VALUE", ui->pushButtonFoundFont); m_theme["num_font"] = Option("", "VALUE", ui->pushButtonNumberFont); m_theme["show_number"] = Option(true, "checked", ui->checkBoxShowNumber); m_theme["show_scrollbars"] = Option(true, "checked", ui->checkBoxScrollbars); m_options["use_system_icons"] = Option(false, "checked", ui->checkBoxSystemIcons); /* datafile for items */ QSettings settings(QSettings::IniFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName()); const QString settingsFileName = settings.fileName(); m_datfilename = settingsFileName; m_datfilename.replace( QRegExp(".ini$"), QString("_tab_") ); // Create directory to save items (otherwise it may not exist at time of saving). QDir settingsDir(settingsFileName + "/.."); if ( settingsDir.mkdir(".") ) { log( tr("Cannot create directory for settings \"%1\"!").arg(settingsDir.path()), LogError ); } connect(this, SIGNAL(finished(int)), SLOT(onFinished(int))); // Tab icons QTabWidget *tw = ui->tabWidget; tw->setTabIcon( tw->indexOf(ui->tabClipboard), getIcon("", IconPaste) ); tw->setTabIcon( tw->indexOf(ui->tabGeneral), getIcon("", IconListOl) ); tw->setTabIcon( tw->indexOf(ui->tabTray), getIcon("", IconInbox) ); tw->setTabIcon( tw->indexOf(ui->tabCommands), getIcon("", IconCogs) ); tw->setTabIcon( tw->indexOf(ui->tabShortcuts), getIcon("", IconHandUp) ); tw->setTabIcon( tw->indexOf(ui->tabAppearance), getIcon("", IconPicture) ); loadSettings(); }
SettingsModel::SettingsModel(QObject* parent /*= 0*/) : QAbstractTableModel(parent), m_changed(false), m_driver(0) { #ifdef Q_OS_WIN m_settingsRoot = QString(getenv("APPDATA")); m_sqliteRoot = m_settingsRoot; #endif #ifdef Q_OS_LINUX m_settingsRoot = "/usr/local/etc"; m_sqliteRoot = "/var"; #endif if (m_settingsRoot.isEmpty()) { QDir dir(qApp->applicationDirPath()); dir.cd(".."); m_settingsRoot = dir.path(); m_sqliteRoot = dir.path(); } QDir settingsDir(m_settingsRoot); if (!settingsDir.cd("picture_search")) { m_error = QString("Directory %1 doesn't exist").arg(settingsDir.filePath("picture_search")); return ; } QDir sqliteDir(m_sqliteRoot); if (!sqliteDir.cd("picture_search")) { m_error = QString("Directory %1 doesn't exist").arg(settingsDir.filePath("picture_search")); return ; } QString varPath = QDir::toNativeSeparators(sqliteDir.absolutePath()); QSettings settings(settingsDir.filePath("settings.ini"),QSettings::IniFormat); settings.beginGroup("QSQLITE"); DatabaseSettings sqlite; sqlite[DatabaseSettings::Driver] = "QSQLITE"; sqlite[DatabaseSettings::Host] = settings.value("host","").toString(); sqlite[DatabaseSettings::Database] = settings.value("database",QDir::toNativeSeparators(sqliteDir.filePath("db.sqlite"))).toString(); sqlite[DatabaseSettings::User] = settings.value("user","").toString(); sqlite[DatabaseSettings::Pass] = settings.value("pass","").toString(); sqlite[DatabaseSettings::PreviewDir] = settings.value("preview_dir",varPath).toString(); settings.endGroup(); settings.beginGroup("QMYSQL"); DatabaseSettings mysql; mysql[DatabaseSettings::Driver] = "QMYSQL"; mysql[DatabaseSettings::Host] = settings.value("host","localhost").toString(); mysql[DatabaseSettings::Database] = settings.value("database","picture_search").toString(); mysql[DatabaseSettings::User] = settings.value("user","root").toString(); mysql[DatabaseSettings::Pass] = settings.value("pass","").toString(); mysql[DatabaseSettings::PreviewDir] = settings.value("preview_dir",varPath).toString(); settings.endGroup(); settings.beginGroup("DRIVER"); m_driver = settings.value("index",0).toInt(); settings.endGroup(); m_data.append(sqlite); m_data.append(mysql); }
//-------------------------------------------------------------- bool Global::setup(const int numOutChannels, const int numInChannels, const int sampleRate, const int ticksPerBuffer) { // set dataPath here since it will change a scene is loaded dataPath = ofToDataPath("", true); // settings path: ~/.robotcowboy #ifndef TARGET_OF_IPHONE ofDirectory settingsDir(ofFilePath::join(ofFilePath::getUserHomeDir(), ".robotcowboy")); #else ofDirectory settingsDir("Documents"); // should be relative to app root #endif if(!settingsDir.exists()) { ofLogNotice() << "Global: settings directory dosen't exist, creating ..."; if(!settingsDir.create()) { ofLogError() << "Global: couldn't create settings directory"; return false; } } else if(!settingsDir.isDirectory()) { ofLogError() << "Global: settings location is not a directory"; return false; } settingsPath = settingsDir.path(); // settings file: ~/.robotcowboy/settings.lua ofFile settingsFile(ofFilePath::join(settingsDir.path(), "settings.lua")); if(!settingsFile.exists()) { // copy defaults file if(!ofFile::copyFromTo(ofFilePath::join(dataPath, "defaults.lua"), // src settingsFile.path(), // dest false, false)) { // not relative to data, don't overwrite ofLogError() << "Global: couldn't copy default settings file"; return false; } } // load settings if(!loadSettings(settingsFile.path())) { // bail if problem loading settings return false; } // documents & scene paths #ifndef TARGET_OF_IPHONE // set absolute paths from given realitve paths if(!ofFilePath::isAbsolute(docsPath)) { docsPath = ofFilePath::join(ofFilePath::getUserHomeDir(), docsPath); } if(!ofFilePath::isAbsolute(scenePath)) { scenePath = ofFilePath::join(docsPath, scenePath); } #else // these are hardcoded on iOS since the dirs will not change docsPath = "Documents"; scenePath = "Documents/scenes"; #endif ofDirectory docsDir(docsPath); if(!docsDir.exists()) { ofLogNotice() << "Global: document directory doesn't exist, creating ..."; if(!docsDir.create()) { ofLogError() << "Global: couldn't create documents directory"; return false; } } ofDirectory sceneDir(scenePath); if(!sceneDir.exists()) { ofLogNotice() << "Global: scene directory doesn't exist, creating ..."; if(!sceneDir.create()) { ofLogError() << "Global: couldn't create scene directory"; return false; } } print(); // setup modules audioEngine.setup(numOutChannels, numInChannels, sampleRate, ticksPerBuffer); scriptEngine.setup(); scriptEngine.bootScript = ofFilePath::join(dataPath, "boot.lua"); osc.setup(); midi.setup(); physics.setup(); gui.setup(); return true; }