Skip to content

Commit

Permalink
Attempting to address mypaint#375
Browse files Browse the repository at this point in the history
  • Loading branch information
teleportingtortoise committed Jun 6, 2022
1 parent 631801e commit 46a72e9
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 12 deletions.
22 changes: 12 additions & 10 deletions gui/filehandling.py
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,8 @@ def set_filename(self, value):
f(self.filename)

if self.filename:
if self.filename.startswith(self.get_scrap_prefix()):
if self.filename.startswith(
self.get_scrap_folder() + self.get_scrap_prefix()):
self.active_scrap_filename = self.filename

filename = property(get_filename, set_filename)
Expand Down Expand Up @@ -1274,10 +1275,10 @@ def save_as_dialog(self, save_method_reference, suggested_filename=None,

def save_scrap_cb(self, action):
filename = self.filename
prefix = self.get_scrap_prefix()
scrap = self.get_scrap_folder() + self.get_scrap_prefix()
self.app.filename = self.save_autoincrement_file(
filename,
prefix,
scrap,
main_doc=True,
)

Expand Down Expand Up @@ -1348,15 +1349,16 @@ def save_autoincrement_file(self, filename, prefix, main_doc=True):
self.save_scratchpad(filename)
return filename

def get_scrap_folder(self):
folder = self.app.preferences['saving.scrap_folder']
folder = fileutils.expanduser_unicode(folder)
folder = os.path.abspath(folder)
if not folder.endswith(os.path.sep):
folder += os.path.sep
return folder

def get_scrap_prefix(self):
prefix = self.app.preferences['saving.scrap_prefix']
# This should really use two separate settings, not one.
# https://github.com/mypaint/mypaint/issues/375
prefix = fileutils.expanduser_unicode(prefix)
prefix = os.path.abspath(prefix)
if os.path.isdir(prefix):
if not prefix.endswith(os.path.sep):
prefix += os.path.sep
return prefix

def get_scratchpad_prefix(self):
Expand Down
13 changes: 12 additions & 1 deletion gui/preferenceswindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
from __future__ import division, print_function

import os.path
import sys
from logging import getLogger
from gettext import gettext as _

Expand Down Expand Up @@ -291,11 +292,21 @@ def scrap_folder_button_pressed_cb(self, widget):
dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)
dialog.add_button(Gtk.STOCK_OPEN, Gtk.ResponseType.OK)
response = dialog.run()
# for formating the output nicely when in a home folder
if sys.platform == 'win32':
ud_docs = lib.glib.get_user_special_dir(
GLib.UserDirectory.DIRECTORY_DOCUMENTS,
)
folderprefix = os.path.join(ud_docs, u)
else:
folderprefix = u'~/'
if response == Gtk.ResponseType.OK:
folder = dialog.get_filename()
folder = folder.replace(
os.path.expanduser('~') + os.sep, folderprefix)
self.app.preferences['saving.scrap_folder'] = folder
self.app.apply_settings()
dialog.destroy()
self.app.apply_settings()

def scrap_folder_entry_changed_cb(self, widget):
scrap_folder = widget.get_text()
Expand Down
2 changes: 1 addition & 1 deletion gui/userconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def default_configuration():
)
scrapfldr = os.path.join(ud_docs, u'MyPaint')
else:
scrapfldr = u'~/MyPaint/'
scrapfldr = u'~/MyPaint'
default_config = {
'saving.scrap_folder': scrapfldr,
'saving.scrap_prefix': 'scrap',
Expand Down

0 comments on commit 46a72e9

Please sign in to comment.