command line argument - path to profile - added. windows qcombobox color fix
This commit is contained in:
		
							
								
								
									
										99
									
								
								src/main.py
									
									
									
									
									
								
							
							
						
						
									
										99
									
								
								src/main.py
									
									
									
									
									
								
							| @@ -13,9 +13,10 @@ import locale | |||||||
|  |  | ||||||
| class Toxygen(object): | class Toxygen(object): | ||||||
|  |  | ||||||
|     def __init__(self): |     def __init__(self, path=None): | ||||||
|         super(Toxygen, self).__init__() |         super(Toxygen, self).__init__() | ||||||
|         self.tox = self.ms = self.init = self.mainloop = self.avloop = None |         self.tox = self.ms = self.init = self.mainloop = self.avloop = None | ||||||
|  |         self.path = path | ||||||
|  |  | ||||||
|     def main(self): |     def main(self): | ||||||
|         """ |         """ | ||||||
| @@ -28,51 +29,57 @@ class Toxygen(object): | |||||||
|         with open(curr_directory() + '/styles/style.qss') as fl: |         with open(curr_directory() + '/styles/style.qss') as fl: | ||||||
|             dark_style = fl.read() |             dark_style = fl.read() | ||||||
|         app.setStyleSheet(dark_style) |         app.setStyleSheet(dark_style) | ||||||
|  |         if self.path is not None: | ||||||
|         auto_profile = Settings.get_auto_profile() |             path = os.path.dirname(self.path.encode(locale.getpreferredencoding())) + '/' | ||||||
|         if not auto_profile: |             name = os.path.basename(self.path.encode(locale.getpreferredencoding()))[:-4] | ||||||
|             # show login screen if default profile not found |  | ||||||
|             current_locale = QtCore.QLocale() |  | ||||||
|             curr_lang = current_locale.languageToString(current_locale.language()) |  | ||||||
|             langs = Settings.supported_languages() |  | ||||||
|             if curr_lang in map(lambda x: x[0], langs): |  | ||||||
|                 lang_path = filter(lambda x: x[0] == curr_lang, langs)[0][1] |  | ||||||
|                 translator = QtCore.QTranslator() |  | ||||||
|                 translator.load(curr_directory() + '/translations/' + lang_path) |  | ||||||
|                 app.installTranslator(translator) |  | ||||||
|                 app.translator = translator |  | ||||||
|             ls = LoginScreen() |  | ||||||
|             ls.setWindowIconText("Toxygen") |  | ||||||
|             profiles = ProfileHelper.find_profiles() |  | ||||||
|             ls.update_select(map(lambda x: x[1], profiles)) |  | ||||||
|             _login = self.Login(profiles) |  | ||||||
|             ls.update_on_close(_login.login_screen_close) |  | ||||||
|             ls.show() |  | ||||||
|             app.connect(app, QtCore.SIGNAL("lastWindowClosed()"), app, QtCore.SLOT("quit()")) |  | ||||||
|             app.exec_() |  | ||||||
|             if not _login.t: |  | ||||||
|                 return |  | ||||||
|             elif _login.t == 1:  # create new profile |  | ||||||
|                 name = _login.name if _login.name else 'toxygen_user' |  | ||||||
|                 self.tox = tox_factory() |  | ||||||
|                 self.tox.self_set_name(_login.name if _login.name else 'Toxygen User') |  | ||||||
|                 self.tox.self_set_status_message('Toxing on Toxygen') |  | ||||||
|                 ProfileHelper.save_profile(self.tox.get_savedata(), name) |  | ||||||
|                 path = Settings.get_default_path() |  | ||||||
|                 settings = Settings(name) |  | ||||||
|             else:  # load existing profile |  | ||||||
|                 path, name = _login.get_data() |  | ||||||
|                 if _login.default: |  | ||||||
|                     Settings.set_auto_profile(path, name) |  | ||||||
|                 data = ProfileHelper.open_profile(path, name) |  | ||||||
|                 settings = Settings(name) |  | ||||||
|                 self.tox = tox_factory(data, settings) |  | ||||||
|         else: |  | ||||||
|             path, name = auto_profile |  | ||||||
|             path = path.encode(locale.getpreferredencoding()) |  | ||||||
|             data = ProfileHelper.open_profile(path, name) |             data = ProfileHelper.open_profile(path, name) | ||||||
|             settings = Settings(name) |             settings = Settings(name) | ||||||
|             self.tox = tox_factory(data, settings) |             self.tox = tox_factory(data, settings) | ||||||
|  |         else: | ||||||
|  |             auto_profile = Settings.get_auto_profile() | ||||||
|  |             if not auto_profile: | ||||||
|  |                 # show login screen if default profile not found | ||||||
|  |                 current_locale = QtCore.QLocale() | ||||||
|  |                 curr_lang = current_locale.languageToString(current_locale.language()) | ||||||
|  |                 langs = Settings.supported_languages() | ||||||
|  |                 if curr_lang in map(lambda x: x[0], langs): | ||||||
|  |                     lang_path = filter(lambda x: x[0] == curr_lang, langs)[0][1] | ||||||
|  |                     translator = QtCore.QTranslator() | ||||||
|  |                     translator.load(curr_directory() + '/translations/' + lang_path) | ||||||
|  |                     app.installTranslator(translator) | ||||||
|  |                     app.translator = translator | ||||||
|  |                 ls = LoginScreen() | ||||||
|  |                 ls.setWindowIconText("Toxygen") | ||||||
|  |                 profiles = ProfileHelper.find_profiles() | ||||||
|  |                 ls.update_select(map(lambda x: x[1], profiles)) | ||||||
|  |                 _login = self.Login(profiles) | ||||||
|  |                 ls.update_on_close(_login.login_screen_close) | ||||||
|  |                 ls.show() | ||||||
|  |                 app.connect(app, QtCore.SIGNAL("lastWindowClosed()"), app, QtCore.SLOT("quit()")) | ||||||
|  |                 app.exec_() | ||||||
|  |                 if not _login.t: | ||||||
|  |                     return | ||||||
|  |                 elif _login.t == 1:  # create new profile | ||||||
|  |                     name = _login.name if _login.name else 'toxygen_user' | ||||||
|  |                     self.tox = tox_factory() | ||||||
|  |                     self.tox.self_set_name(_login.name if _login.name else 'Toxygen User') | ||||||
|  |                     self.tox.self_set_status_message('Toxing on Toxygen') | ||||||
|  |                     ProfileHelper.save_profile(self.tox.get_savedata(), name) | ||||||
|  |                     path = Settings.get_default_path() | ||||||
|  |                     settings = Settings(name) | ||||||
|  |                 else:  # load existing profile | ||||||
|  |                     path, name = _login.get_data() | ||||||
|  |                     if _login.default: | ||||||
|  |                         Settings.set_auto_profile(path, name) | ||||||
|  |                     data = ProfileHelper.open_profile(path, name) | ||||||
|  |                     settings = Settings(name) | ||||||
|  |                     self.tox = tox_factory(data, settings) | ||||||
|  |             else: | ||||||
|  |                 path, name = auto_profile | ||||||
|  |                 path = path.encode(locale.getpreferredencoding()) | ||||||
|  |                 data = ProfileHelper.open_profile(path, name) | ||||||
|  |                 settings = Settings(name) | ||||||
|  |                 self.tox = tox_factory(data, settings) | ||||||
|  |  | ||||||
|         if ProfileHelper.is_active_profile(path, name):  # profile is in use |         if ProfileHelper.is_active_profile(path, name):  # profile is in use | ||||||
|             reply = QtGui.QMessageBox.question(None, |             reply = QtGui.QMessageBox.question(None, | ||||||
| @@ -252,6 +259,8 @@ class Toxygen(object): | |||||||
|  |  | ||||||
|  |  | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|     # TODO: add command line options |     if len(sys.argv) == 1: | ||||||
|     toxygen = Toxygen() |         toxygen = Toxygen() | ||||||
|  |     else:  # path to profile | ||||||
|  |         toxygen = Toxygen(sys.argv[1]) | ||||||
|     toxygen.main() |     toxygen.main() | ||||||
|   | |||||||
| @@ -668,7 +668,7 @@ QComboBox QAbstractItemView | |||||||
|     background-color: #201F1F; |     background-color: #201F1F; | ||||||
|     border-radius: 2px; |     border-radius: 2px; | ||||||
|     border: 1px solid #444; |     border: 1px solid #444; | ||||||
|     selection-background-color: #3d8ec9; |     selection-background-color: #A9A9A9; | ||||||
| } | } | ||||||
|  |  | ||||||
| QComboBox::drop-down | QComboBox::drop-down | ||||||
|   | |||||||
| @@ -32,6 +32,7 @@ def bin_to_string(raw_id, length): | |||||||
|  |  | ||||||
|  |  | ||||||
| class Tox(object): | class Tox(object): | ||||||
|  |  | ||||||
|     libtoxcore = LibToxCore() |     libtoxcore = LibToxCore() | ||||||
|      |      | ||||||
|     def __init__(self, tox_options=None, tox_pointer=None): |     def __init__(self, tox_options=None, tox_pointer=None): | ||||||
| @@ -57,9 +58,9 @@ class Tox(object): | |||||||
|                 raise MemoryError('The function was unable to allocate enough ' |                 raise MemoryError('The function was unable to allocate enough ' | ||||||
|                                   'memory to store the internal structures for the Tox object.') |                                   'memory to store the internal structures for the Tox object.') | ||||||
|             elif tox_err_new == TOX_ERR_NEW['PORT_ALLOC']: |             elif tox_err_new == TOX_ERR_NEW['PORT_ALLOC']: | ||||||
|                 raise MemoryError('The function was unable to bind to a port. This may mean that all ports have already' |                 raise RuntimeError('The function was unable to bind to a port. This may mean that all ports have ' | ||||||
|                                   ' been bound, e.g. by other Tox instances, or it may mean a permission error. You may' |                                    'already been bound, e.g. by other Tox instances, or it may mean a permission error.' | ||||||
|                                   ' be able to gather more information from errno.') |                                    ' You may be able to gather more information from errno.') | ||||||
|             elif tox_err_new == TOX_ERR_NEW['PROXY_BAD_TYPE']: |             elif tox_err_new == TOX_ERR_NEW['PROXY_BAD_TYPE']: | ||||||
|                 raise ArgumentError('proxy_type was invalid.') |                 raise ArgumentError('proxy_type was invalid.') | ||||||
|             elif tox_err_new == TOX_ERR_NEW['PROXY_BAD_HOST']: |             elif tox_err_new == TOX_ERR_NEW['PROXY_BAD_HOST']: | ||||||
|   | |||||||
| @@ -27,14 +27,15 @@ def convert_time(t): | |||||||
|     return '%02d:%02d' % (h, m) |     return '%02d:%02d' % (h, m) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # obsolete | ||||||
| def get_style(style): | def get_style(style): | ||||||
|     if style != 'default': |     if style != 'default': | ||||||
|         return style |         return style | ||||||
|     else: |     else: | ||||||
|         if system() == 'Linux': |         if system() == 'Windows': | ||||||
|             return 'gtk' |  | ||||||
|         elif system() == 'Windows': |  | ||||||
|             return 'windows' |             return 'windows' | ||||||
|  |         else: | ||||||
|  |             return 'gtk' | ||||||
|  |  | ||||||
|  |  | ||||||
| class Singleton(object): | class Singleton(object): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user