portability updates
This commit is contained in:
parent
3bd7655203
commit
883a30f806
4 changed files with 44 additions and 11 deletions
|
@ -125,7 +125,19 @@ class Toxygen:
|
|||
set_pass.show()
|
||||
self.app.connect(self.app, QtCore.SIGNAL("lastWindowClosed()"), self.app, QtCore.SLOT("quit()"))
|
||||
self.app.exec_()
|
||||
ProfileHelper(Settings.get_default_path(), name).save_profile(self.tox.get_savedata())
|
||||
reply = QtGui.QMessageBox.question(None,
|
||||
'Profile {}'.format(name),
|
||||
QtGui.QApplication.translate("login",
|
||||
'Do you want to save profile in default folder? If no, profile will be saved in program folder',
|
||||
None,
|
||||
QtGui.QApplication.UnicodeUTF8),
|
||||
QtGui.QMessageBox.Yes,
|
||||
QtGui.QMessageBox.No)
|
||||
if reply == QtGui.QMessageBox.Yes:
|
||||
path = Settings.get_default_path()
|
||||
else:
|
||||
path = curr_directory()
|
||||
ProfileHelper(path, name).save_profile(self.tox.get_savedata())
|
||||
path = Settings.get_default_path()
|
||||
settings = Settings(name)
|
||||
if curr_lang in langs:
|
||||
|
@ -424,7 +436,7 @@ def main():
|
|||
else: # started with argument(s)
|
||||
arg = sys.argv[1]
|
||||
if arg == '--version':
|
||||
print('Toxygen ' + program_version)
|
||||
print('Toxygen v' + program_version)
|
||||
return
|
||||
elif arg == '--help':
|
||||
print('Usage:\ntoxygen path_to_profile\ntoxygen tox_id\ntoxygen --version')
|
||||
|
|
|
@ -269,11 +269,22 @@ class ProfileSettings(CenteredWidget):
|
|||
directory = QtGui.QFileDialog.getExistingDirectory(options=QtGui.QFileDialog.DontUseNativeDialog,
|
||||
dir=curr_directory()) + '/'
|
||||
if directory != '/':
|
||||
ProfileHelper.get_instance().export_profile(directory)
|
||||
reply = QtGui.QMessageBox.question(None,
|
||||
QtGui.QApplication.translate("ProfileSettingsForm",
|
||||
'Use new path',
|
||||
None,
|
||||
QtGui.QApplication.UnicodeUTF8),
|
||||
QtGui.QApplication.translate("ProfileSettingsForm",
|
||||
'Do you want to move your profile to this location?',
|
||||
None,
|
||||
QtGui.QApplication.UnicodeUTF8),
|
||||
QtGui.QMessageBox.Yes,
|
||||
QtGui.QMessageBox.No)
|
||||
settings = Settings.get_instance()
|
||||
settings.export(directory)
|
||||
profile = Profile.get_instance()
|
||||
profile.export_history(directory)
|
||||
ProfileHelper.get_instance().export_profile(directory, reply == QtGui.QMessageBox.Yes)
|
||||
|
||||
def closeEvent(self, event):
|
||||
profile = Profile.get_instance()
|
||||
|
|
|
@ -311,9 +311,12 @@ class Profile(contact.Contact, Singleton):
|
|||
Send typing notification to a friend
|
||||
"""
|
||||
if Settings.get_instance()['typing_notifications'] and self._active_friend + 1:
|
||||
try:
|
||||
friend = self._friends[self._active_friend]
|
||||
if friend.status is not None:
|
||||
self._tox.self_set_typing(friend.number, typing)
|
||||
except:
|
||||
pass
|
||||
|
||||
def friend_typing(self, friend_number, typing):
|
||||
"""
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
from platform import system
|
||||
import json
|
||||
import os
|
||||
import locale
|
||||
from util import Singleton, curr_directory, log
|
||||
from util import Singleton, curr_directory, log, copy
|
||||
import pyaudio
|
||||
from toxencryptsave import ToxEncryptSave
|
||||
import smileys
|
||||
|
@ -202,6 +201,9 @@ class Settings(dict, Singleton):
|
|||
with open(path + str(self.name) + '.json', 'w') as fl:
|
||||
fl.write(text)
|
||||
|
||||
def update_path(self):
|
||||
self.path = ProfileHelper.get_path() + self.name + '.json'
|
||||
|
||||
@staticmethod
|
||||
def get_default_path():
|
||||
if system() == 'Windows':
|
||||
|
@ -244,13 +246,18 @@ class ProfileHelper(Singleton):
|
|||
fl.write(data)
|
||||
print('Profile saved successfully')
|
||||
|
||||
def export_profile(self, new_path):
|
||||
new_path += os.path.basename(self._path)
|
||||
def export_profile(self, new_path, use_new_path):
|
||||
path = new_path + os.path.basename(self._path)
|
||||
with open(self._path, 'rb') as fin:
|
||||
data = fin.read()
|
||||
with open(new_path, 'wb') as fout:
|
||||
with open(path, 'wb') as fout:
|
||||
fout.write(data)
|
||||
print('Profile exported successfully')
|
||||
copy(self._directory + 'avatars', new_path + 'avatars')
|
||||
if use_new_path:
|
||||
self._path = new_path + os.path.basename(self._path)
|
||||
self._directory = new_path
|
||||
Settings.get_instance().update_path()
|
||||
|
||||
@staticmethod
|
||||
def find_profiles():
|
||||
|
|
Loading…
Reference in a new issue