コード例 #1
0
ファイル: ProfileBox.cpp プロジェクト: Regmos/ssr
void ProfileBox::LoadProfiles() {

	// get all profiles
	std::vector<Profile> profiles;
	LoadProfilesFromDir(&profiles, GetApplicationSystemDir(m_type), false);
	LoadProfilesFromDir(&profiles, GetApplicationUserDir(m_type), true);

	// sort and remove duplicates
	std::sort(profiles.begin(), profiles.end());
	m_profiles.clear();
	for(const Profile& p : profiles) {
		if(!m_profiles.empty() && m_profiles.back().m_name == p.m_name) {
			if(p.m_can_delete)
				m_profiles.back().m_can_delete = true;
		} else {
			m_profiles.push_back(p);
		}
	}

	// add profiles to combobox
	m_combobox_profiles->clear();
	m_combobox_profiles->addItem(tr("(none)"));
	for(unsigned int i = 0; i < m_profiles.size(); ++i) {
		m_combobox_profiles->addItem(QByteArray::fromPercentEncoding(m_profiles[i].m_name.toAscii()));
	}

}
コード例 #2
0
ファイル: MainWindow.cpp プロジェクト: obiwankennedy/ssr
void MainWindow::LoadSettings() {

	QSettings settings(GetApplicationUserDir() + "/settings.conf", QSettings::IniFormat);

	SetNVidiaDisableFlipping(StringToEnum(settings.value("global/nvidia_disable_flipping", QString()).toString(), NVIDIA_DISABLE_FLIPPING_ASK));

	m_page_input->LoadSettings(&settings);
	m_page_output->LoadSettings(&settings);
	m_page_record->LoadSettings(&settings);

}
コード例 #3
0
ファイル: ProfileBox.cpp プロジェクト: Regmos/ssr
void ProfileBox::OnProfileDelete() {
	QString name = GetProfileName();
	if(name.isEmpty())
		return;
	QString filename = GetApplicationUserDir(m_type) + "/" + name + ".conf";
	if(MessageBox(QMessageBox::Warning, this, MainWindow::WINDOW_CAPTION, tr("Are you sure that you want to delete this profile?"), BUTTON_YES | BUTTON_NO, BUTTON_YES) == BUTTON_YES) {
		QFile(filename).remove();
		LoadProfiles();
		UpdateProfileFields();
	}
}
コード例 #4
0
ファイル: MainWindow.cpp プロジェクト: obiwankennedy/ssr
void MainWindow::SaveSettings() {

	QSettings settings(GetApplicationUserDir() + "/settings.conf", QSettings::IniFormat);
	settings.clear();

	settings.setValue("global/nvidia_disable_flipping", EnumToString(GetNVidiaDisableFlipping()));

	m_page_input->SaveSettings(&settings);
	m_page_output->SaveSettings(&settings);
	m_page_record->SaveSettings(&settings);

}
コード例 #5
0
ファイル: ProfileBox.cpp プロジェクト: Regmos/ssr
void ProfileBox::OnProfileSave() {
	QString name = GetProfileName();
	if(name.isEmpty())
		return;
	QString filename = GetApplicationUserDir(m_type) + "/" + name + ".conf";
	if(MessageBox(QMessageBox::Warning, this, MainWindow::WINDOW_CAPTION, tr("Are you sure that you want to overwrite this profile?"), BUTTON_YES | BUTTON_NO, BUTTON_YES) == BUTTON_YES) {
		{
			QSettings settings(filename, QSettings::IniFormat);
			m_save_callback(&settings, m_userdata);
		}
		LoadProfiles();
		SetProfile(FindProfile(name));
		UpdateProfileFields();
	}
}
コード例 #6
0
ファイル: ProfileBox.cpp プロジェクト: Regmos/ssr
void ProfileBox::OnProfileNew() {
	QString name = InputBox(this, MainWindow::WINDOW_CAPTION, tr("Enter a name for the new profile:"), "");
	if(name.isEmpty())
		return;
	name = name.toAscii().toPercentEncoding();
	QString filename = GetApplicationUserDir(m_type) + "/" + name + ".conf";
	if(!QFileInfo(filename).exists() || MessageBox(QMessageBox::Warning, this, MainWindow::WINDOW_CAPTION,
			tr("A profile with the same name already exists. Are you sure that you want to replace it?"), BUTTON_YES | BUTTON_NO, BUTTON_YES) == BUTTON_YES) {
		{
			QSettings settings(filename, QSettings::IniFormat);
			m_save_callback(&settings, m_userdata);
		}
		LoadProfiles();
		SetProfile(FindProfile(name));
		UpdateProfileFields();
	}
}
コード例 #7
0
ファイル: ProfileBox.cpp プロジェクト: Regmos/ssr
void ProfileBox::OnProfileChange() {
	UpdateProfileFields();
	QString name = GetProfileName();
	if(name.isEmpty())
		return;
	QString filename = GetApplicationUserDir(m_type) + "/" + name + ".conf";
	if(QFileInfo(filename).exists()) {
		QSettings settings(filename, QSettings::IniFormat);
		m_load_callback(&settings, m_userdata);
		return;
	}
	filename = GetApplicationSystemDir(m_type) + "/" + name + ".conf";
	if(QFileInfo(filename).exists()) {
		QSettings settings(filename, QSettings::IniFormat);
		m_load_callback(&settings, m_userdata);
		return;
	}
	Logger::LogError("[ProfileBox::OnProfileChange] " + tr("Error: Can't load profile!"));
}