mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-24 06:59:27 -05:00
87344de7d4
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1850 b45a01b8-16f6-495d-af2f-9b41ad6348cc
313 lines
12 KiB
C++
313 lines
12 KiB
C++
/***************************************************************************
|
|
* Copyright (C) 2008 by normal *
|
|
* normal@Desktop2 *
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
* GNU General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, write to the *
|
|
* Free Software Foundation, Inc., *
|
|
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
|
***************************************************************************/
|
|
|
|
#include "form_settingsgui.h"
|
|
|
|
form_settingsgui::form_settingsgui(QWidget *parent, Qt::WFlags flags)
|
|
: QDialog(parent, flags)
|
|
{
|
|
setupUi(this);
|
|
this->setAttribute(Qt::WA_DeleteOnClose,true);
|
|
settings= new QSettings(QApplication::applicationDirPath()+"/application.ini",QSettings::IniFormat);
|
|
|
|
loadqss();
|
|
styleCombo->addItems(QStyleFactory::keys());
|
|
loadSettings();
|
|
|
|
connect(ok_Button, SIGNAL(clicked(bool) ),this,SLOT(saveSettings() ) );
|
|
connect(cancel_Button, SIGNAL(clicked(bool) ),this,SLOT(close() ) );
|
|
connect(cmd_openFile, SIGNAL(clicked(bool) ),this,SLOT(on_cmd_openFile()));
|
|
connect(cmd_openFile_2,SIGNAL(clicked(bool) ),this,SLOT(on_cmd_openFile2()));
|
|
connect(cmd_openFile_3,SIGNAL(clicked(bool) ),this,SLOT(on_cmd_openFile3()));
|
|
connect(cmd_openFile_4,SIGNAL(clicked(bool) ),this,SLOT(on_cmd_openFile4()));
|
|
connect(cmd_openFile_5,SIGNAL(clicked(bool) ),this,SLOT(on_cmd_openFile5()));
|
|
connect(cmd_openFile_6,SIGNAL(clicked(bool) ),this,SLOT(on_cmd_openFile6()));
|
|
|
|
}
|
|
|
|
form_settingsgui::~form_settingsgui()
|
|
{
|
|
delete (settings);
|
|
}
|
|
|
|
void form_settingsgui::loadSettings()
|
|
{
|
|
settings->beginGroup("General");
|
|
spinBox->setValue(settings->value("Debug_Max_Message_count","20").toInt());
|
|
spinBox_3->setValue(settings->value("Waittime_between_rechecking_offline_users","30000").toInt()/1000);
|
|
|
|
|
|
if(settings->value("current_Style","").toString().isEmpty()==false)
|
|
styleCombo->setCurrentIndex(styleCombo->findText(settings->value("current_Style","").toString()));
|
|
else
|
|
{
|
|
//find default Style for this System
|
|
QRegExp regExp("Q(.*)Style");
|
|
QString defaultStyle = QApplication::style()->metaObject()->className();
|
|
|
|
if (defaultStyle == QLatin1String("QMacStyle"))
|
|
defaultStyle = QLatin1String("Macintosh (Aqua)");
|
|
else if (regExp.exactMatch(defaultStyle))
|
|
defaultStyle = regExp.cap(1);
|
|
|
|
//styleCombo->addItems(QStyleFactory::keys());
|
|
styleCombo->setCurrentIndex(styleCombo->findText(defaultStyle));
|
|
|
|
}
|
|
|
|
styleSheetCombo->setCurrentIndex(styleSheetCombo->findText(settings->value("current_Style_sheet","Default").toString()));
|
|
settings->endGroup();
|
|
|
|
settings->beginGroup("Network");
|
|
lineEdit_3->setText(settings->value("SamHost","127.0.0.1").toString());
|
|
lineEdit_2->setText(settings->value("Destination","test").toString());
|
|
lineEdit->setText(settings->value("TunnelName","I2PChat").toString());
|
|
spinBox_10->setValue(settings->value("SamPort","7656").toInt());
|
|
|
|
spinBox_4->setMinimum(1);
|
|
spinBox_4->setValue(settings->value("inbound.length","1").toInt());
|
|
spinBox_4->setMaximum(3);
|
|
|
|
spinBox_5->setMinimum(0);
|
|
spinBox_5->setValue(settings->value("inbound.quantity","1").toInt());
|
|
spinBox_5->setMaximum(3);
|
|
|
|
spinBox_6->setMinimum(0);
|
|
spinBox_6->setValue(settings->value("inbound.backupQuantity","1").toInt());
|
|
spinBox_6->setMaximum(3);
|
|
|
|
spinBox_7->setMinimum(0);
|
|
spinBox_7->setValue(settings->value("outbound.backupQuantity","1").toInt());
|
|
spinBox_7->setMaximum(3);
|
|
|
|
spinBox_8->setMinimum(1);
|
|
spinBox_8->setValue(settings->value("outbound.length","1").toInt());
|
|
spinBox_8->setMaximum(3);
|
|
|
|
spinBox_9->setMinimum(0);
|
|
spinBox_9->setValue(settings->value("outbound.quantity","1").toInt());
|
|
spinBox_9->setMaximum(3);
|
|
settings->endGroup();
|
|
|
|
|
|
settings->beginGroup("Sound");
|
|
settings->beginGroup("SoundFilePath");
|
|
txt_SoundFile->setText(settings->value("User_go_Online","").toString());
|
|
txt_SoundFile2->setText(settings->value("User_go_Offline","").toString());
|
|
txt_SoundFile3->setText(settings->value("FileSend_Finished","").toString());
|
|
txt_SoundFile4->setText(settings->value("FileRecive_Incoming","").toString());
|
|
txt_SoundFile5->setText(settings->value("FileRecive_Finished","").toString());
|
|
txt_SoundFile6->setText(settings->value("NewChatMessage","").toString());
|
|
|
|
if(!txt_SoundFile->text().isEmpty())checkBoxSound->setEnabled(true);
|
|
if(!txt_SoundFile2->text().isEmpty())checkBoxSound_2->setEnabled(true);
|
|
if(!txt_SoundFile3->text().isEmpty())checkBoxSound_3->setEnabled(true);
|
|
if(!txt_SoundFile4->text().isEmpty())checkBoxSound_4->setEnabled(true);
|
|
if(!txt_SoundFile5->text().isEmpty())checkBoxSound_5->setEnabled(true);
|
|
if(!txt_SoundFile6->text().isEmpty())checkBoxSound_6->setEnabled(true);
|
|
|
|
settings->endGroup();
|
|
|
|
settings->beginGroup("Enable");
|
|
checkBoxSound->setChecked(settings->value("User_go_Online",false).toBool());
|
|
checkBoxSound_2->setChecked(settings->value("User_go_Offline",false).toBool());
|
|
checkBoxSound_3->setChecked(settings->value("FileSend_Finished",false).toBool());
|
|
checkBoxSound_4->setChecked(settings->value("FileRecive_Incoming",false).toBool());
|
|
checkBoxSound_5->setChecked(settings->value("FileRecive_Finished",false).toBool());
|
|
checkBoxSound_6->setChecked(settings->value("NewChatMessage",false).toBool());
|
|
settings->endGroup();
|
|
|
|
settings->endGroup();
|
|
|
|
}
|
|
void form_settingsgui::saveSettings()
|
|
{
|
|
QString SessionOptionString;
|
|
QString temp;
|
|
|
|
SessionOptionString="inbound.nickname="+lineEdit->text();
|
|
|
|
SessionOptionString+=" inbound.quantity=";
|
|
temp.setNum(spinBox_5->value());
|
|
SessionOptionString+=temp;
|
|
|
|
SessionOptionString+=" inbound.backupQuantity=";
|
|
temp.setNum(spinBox_6->value());
|
|
SessionOptionString+=temp;
|
|
|
|
SessionOptionString+=" inbound.length=";
|
|
temp.setNum(spinBox_4->value());
|
|
SessionOptionString+=temp;
|
|
|
|
SessionOptionString+=" outbound.quantity=";
|
|
temp.setNum(spinBox_9->value());
|
|
SessionOptionString+=temp;
|
|
|
|
SessionOptionString+=" outbound.backupQuantity=";
|
|
temp.setNum(spinBox_7->value());
|
|
SessionOptionString+=temp;
|
|
|
|
SessionOptionString+=" outbound.length=";
|
|
temp.setNum(spinBox_8->value());
|
|
SessionOptionString+=temp;
|
|
|
|
settings->beginGroup("General");
|
|
settings->setValue("Debug_Max_Message_count",spinBox->value());
|
|
settings->setValue("Waittime_between_rechecking_offline_users",spinBox_3->value()*1000);
|
|
settings->setValue("current_Style",styleCombo->currentText());
|
|
settings->setValue("current_Style_sheet",styleSheetCombo->currentText());
|
|
settings->endGroup();
|
|
|
|
settings->beginGroup("Network");
|
|
settings->setValue("SamHost",lineEdit_3->text());
|
|
settings->setValue("Destination",lineEdit_2->text());
|
|
settings->setValue("TunnelName",lineEdit->text());
|
|
settings->setValue("SamPort",spinBox_10->value());
|
|
//Inbound options
|
|
settings->setValue("inbound.quantity",spinBox_5->value());
|
|
settings->setValue("inbound.backupQuantity",spinBox_6->value());
|
|
settings->setValue("inbound.length",spinBox_4->value());
|
|
//Outpound options
|
|
settings->setValue("outbound.quantity",spinBox_9->value());
|
|
settings->setValue("outbound.backupQuantity",spinBox_7->value());
|
|
settings->setValue("outbound.length",spinBox_8->value());
|
|
|
|
settings->setValue("SessionOptionString",SessionOptionString);
|
|
settings->endGroup();
|
|
settings->beginGroup("Sound");
|
|
settings->beginGroup("Enable");
|
|
settings->setValue("User_go_Online",checkBoxSound->isChecked());
|
|
settings->setValue("User_go_Offline",checkBoxSound_2->isChecked());
|
|
settings->setValue("FileSend_Finished",checkBoxSound_3->isChecked());
|
|
settings->setValue("FileRecive_Incoming",checkBoxSound_4->isChecked());
|
|
settings->setValue("FileRecive_Finished",checkBoxSound_5->isChecked());
|
|
settings->setValue("NewChatMessage",checkBoxSound_6->isChecked());
|
|
settings->endGroup();
|
|
settings->beginGroup("SoundFilePath");
|
|
settings->setValue("User_go_Online",txt_SoundFile->text());
|
|
settings->setValue("User_go_Offline",txt_SoundFile2->text());
|
|
settings->setValue("FileSend_Finished",txt_SoundFile3->text());
|
|
settings->setValue("FileRecive_Incoming",txt_SoundFile4->text());
|
|
settings->setValue("FileRecive_Finished",txt_SoundFile5->text());
|
|
settings->setValue("NewChatMessage",txt_SoundFile6->text());
|
|
settings->endGroup();
|
|
settings->endGroup();
|
|
this->close();
|
|
}
|
|
|
|
|
|
void form_settingsgui::on_styleCombo_activated(const QString &styleName)
|
|
{
|
|
qApp->setStyle(styleName);
|
|
|
|
}
|
|
|
|
void form_settingsgui::on_styleSheetCombo_activated(const QString &sheetName)
|
|
{
|
|
loadStyleSheet(sheetName);
|
|
}
|
|
|
|
void form_settingsgui::loadStyleSheet(const QString &sheetName)
|
|
{
|
|
// external Stylesheets
|
|
QFile file(QApplication::applicationDirPath() + "/qss/" + sheetName.toLower() + ".qss");
|
|
|
|
file.open(QFile::ReadOnly);
|
|
QString styleSheet = QLatin1String(file.readAll());
|
|
|
|
|
|
qApp->setStyleSheet(styleSheet);
|
|
}
|
|
|
|
void form_settingsgui::loadqss()
|
|
{
|
|
|
|
QFileInfoList slist = QDir(QApplication::applicationDirPath() + "/qss/").entryInfoList();
|
|
foreach(QFileInfo st, slist)
|
|
{
|
|
if(st.fileName() != "." && st.fileName() != ".." && st.isFile())
|
|
styleSheetCombo->addItem(st.fileName().remove(".qss"));
|
|
}
|
|
}
|
|
////FilePath=QFileDialog::getOpenFileName(this,"Open File", ".", "all Files (*.*)");
|
|
void form_settingsgui::on_cmd_openFile()
|
|
{
|
|
|
|
txt_SoundFile->setText(QFileDialog::getOpenFileName(this,"Open File", ".", "wav (*.wav)"));
|
|
if(txt_SoundFile->text().isEmpty()){
|
|
checkBoxSound->setChecked(false);
|
|
checkBoxSound->setEnabled(false);
|
|
}
|
|
else
|
|
checkBoxSound->setEnabled(true);
|
|
}
|
|
|
|
void form_settingsgui::on_cmd_openFile2()
|
|
{
|
|
txt_SoundFile2->setText(QFileDialog::getOpenFileName(this,"Open File", ".", "wav (*.wav)"));
|
|
if(txt_SoundFile2->text().isEmpty()){
|
|
checkBoxSound_2->setChecked(false);
|
|
checkBoxSound_2->setEnabled(false);
|
|
}
|
|
else
|
|
checkBoxSound_2->setEnabled(true);
|
|
|
|
}
|
|
void form_settingsgui::on_cmd_openFile3()
|
|
{
|
|
txt_SoundFile3->setText(QFileDialog::getOpenFileName(this,"Open File", ".", "wav (*.wav)"));
|
|
if(txt_SoundFile3->text().isEmpty()){
|
|
checkBoxSound_3->setChecked(false);
|
|
checkBoxSound_3->setEnabled(false);
|
|
}
|
|
else
|
|
checkBoxSound_3->setEnabled(true);
|
|
}
|
|
void form_settingsgui::on_cmd_openFile4()
|
|
{
|
|
txt_SoundFile4->setText(QFileDialog::getOpenFileName(this,"Open File", ".", "wav (*.wav)"));
|
|
if(txt_SoundFile4->text().isEmpty()){
|
|
checkBoxSound_4->setChecked(false);
|
|
checkBoxSound_4->setEnabled(false);
|
|
}
|
|
else
|
|
checkBoxSound_4->setEnabled(true);
|
|
}
|
|
void form_settingsgui::on_cmd_openFile5()
|
|
{
|
|
txt_SoundFile5->setText(QFileDialog::getOpenFileName(this,"Open File", ".", "wav (*.wav)"));
|
|
if(txt_SoundFile5->text().isEmpty()){
|
|
checkBoxSound_5->setChecked(false);
|
|
checkBoxSound_5->setEnabled(false);
|
|
}
|
|
else
|
|
checkBoxSound_5->setEnabled(true);
|
|
}
|
|
void form_settingsgui::on_cmd_openFile6()
|
|
{
|
|
txt_SoundFile6->setText(QFileDialog::getOpenFileName(this,"Open File", ".", "wav (*.wav)"));
|
|
if(txt_SoundFile6->text().isEmpty()){
|
|
checkBoxSound_6->setChecked(false);
|
|
checkBoxSound_6->setEnabled(false);
|
|
}
|
|
else
|
|
checkBoxSound_6->setEnabled(true);
|
|
|
|
} |