fixed bug with settings. interface and privacy settings added
This commit is contained in:
parent
b9937c13cd
commit
635feb3532
4 changed files with 39 additions and 3 deletions
|
@ -6,7 +6,7 @@ import sys
|
|||
from PySide import QtCore, QtGui
|
||||
from callbacks import init_callbacks
|
||||
from bootstrap import node_generator
|
||||
from util import curr_directory
|
||||
from util import curr_directory, get_style
|
||||
|
||||
|
||||
class login(object):
|
||||
|
@ -73,6 +73,7 @@ def main():
|
|||
|
||||
ms = MainWindow(tox)
|
||||
ms.show()
|
||||
QtGui.QApplication.setStyle(get_style(settings['theme'])) # set application style
|
||||
# bootstrap
|
||||
for data in node_generator():
|
||||
tox.bootstrap(*data)
|
||||
|
|
25
src/menu.py
25
src/menu.py
|
@ -1,6 +1,7 @@
|
|||
from PySide import QtCore, QtGui
|
||||
from settings import Settings
|
||||
from profile import Profile
|
||||
from util import get_style
|
||||
|
||||
|
||||
class AddContact(QtGui.QWidget):
|
||||
|
@ -214,6 +215,10 @@ class PrivacySettings(QtGui.QWidget):
|
|||
self.typingNotifications.setObjectName("typingNotifications")
|
||||
|
||||
self.retranslateUi()
|
||||
settings = Settings()
|
||||
self.typingNotifications.setChecked(settings['typing_notifications'])
|
||||
self.fileautoaccept.setChecked(settings['allow_auto_accept'])
|
||||
self.saveHistory.setChecked(settings['save_history'])
|
||||
QtCore.QMetaObject.connectSlotsByName(self)
|
||||
|
||||
def retranslateUi(self):
|
||||
|
@ -222,6 +227,13 @@ class PrivacySettings(QtGui.QWidget):
|
|||
self.fileautoaccept.setText(QtGui.QApplication.translate("privacySettings", "Allow file autoaccept", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.typingNotifications.setText(QtGui.QApplication.translate("privacySettings", "Send typing notifications", None, QtGui.QApplication.UnicodeUTF8))
|
||||
|
||||
def closeEvent(self, event):
|
||||
settings = Settings()
|
||||
settings['typing_notifications'] = self.typingNotifications.isChecked()
|
||||
settings['allow_auto_accept'] = self.fileautoaccept.isChecked()
|
||||
settings['save_history'] = self.saveHistory.isChecked()
|
||||
settings.save()
|
||||
|
||||
|
||||
class NotificationsSettings(QtGui.QWidget):
|
||||
"""Notifications settings form"""
|
||||
|
@ -293,10 +305,21 @@ class InterfaceSettings(QtGui.QWidget):
|
|||
font.setPointSize(17)
|
||||
self.themeSelect.setFont(font)
|
||||
self.themeSelect.setObjectName("themeSelect")
|
||||
|
||||
list_of_themes = ['default', 'windows', 'gtk', 'cde', 'plastique', 'motif']
|
||||
self.themeSelect.addItems(list_of_themes)
|
||||
theme = Settings()['theme']
|
||||
index = list_of_themes.index(theme)
|
||||
self.themeSelect.setCurrentIndex(index)
|
||||
self.retranslateUi()
|
||||
QtCore.QMetaObject.connectSlotsByName(self)
|
||||
|
||||
def retranslateUi(self):
|
||||
self.setWindowTitle(QtGui.QApplication.translate("interfaceForm", "Interface settings", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.label.setText(QtGui.QApplication.translate("interfaceForm", "Theme:", None, QtGui.QApplication.UnicodeUTF8))
|
||||
|
||||
def closeEvent(self, event):
|
||||
settings = Settings()
|
||||
style = str(self.themeSelect.currentText())
|
||||
settings['theme'] = style
|
||||
settings.save()
|
||||
QtGui.QApplication.setStyle(get_style(style))
|
||||
|
|
|
@ -4,7 +4,7 @@ import os
|
|||
from util import Singleton
|
||||
|
||||
|
||||
class Settings(dict, Singleton):
|
||||
class Settings(Singleton, dict):
|
||||
|
||||
def __init__(self, name=''):
|
||||
self.path = Settings.get_default_path() + str(name) + '.json'
|
||||
|
|
12
src/util.py
12
src/util.py
|
@ -1,5 +1,7 @@
|
|||
import os
|
||||
import time
|
||||
from platform import system
|
||||
|
||||
|
||||
program_version = '0.0.1 (alpha)'
|
||||
|
||||
|
@ -17,6 +19,16 @@ def curr_time():
|
|||
return time.strftime("%H:%M")
|
||||
|
||||
|
||||
def get_style(style):
|
||||
if style != 'default':
|
||||
return style
|
||||
else:
|
||||
if system() == 'Linux':
|
||||
return 'gtk'
|
||||
elif system() == 'Windows':
|
||||
return 'windows'
|
||||
|
||||
|
||||
class Singleton(object):
|
||||
|
||||
def __new__(cls, *args):
|
||||
|
|
Loading…
Reference in a new issue