[kupfer] templates: Add a New Folder template
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [kupfer] templates: Add a New Folder template
- Date: Mon, 15 Feb 2010 10:47:21 +0000 (UTC)
commit da594caca8573eb015d1e9270cf9ed846e896089
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Mon Feb 15 02:04:54 2010 +0100
templates: Add a New Folder template
kupfer/plugin/templates.py | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
---
diff --git a/kupfer/plugin/templates.py b/kupfer/plugin/templates.py
index d587abf..b7ce0d6 100644
--- a/kupfer/plugin/templates.py
+++ b/kupfer/plugin/templates.py
@@ -37,11 +37,23 @@ class Template (FileLeaf):
class EmptyFile (Leaf):
def __init__(self):
Leaf.__init__(self, None, _("Empty File"))
+ def repr_key(self):
+ return ""
def get_actions(self):
yield CreateDocumentIn()
def get_icon_name(self):
return "gtk-file"
+class NewFolder (Leaf):
+ def __init__(self):
+ Leaf.__init__(self, None, _("New Folder"))
+ def repr_key(self):
+ return ""
+ def get_actions(self):
+ yield CreateDocumentIn()
+ def get_icon_name(self):
+ return "folder"
+
class CreateNewDocument (Action):
def __init__(self):
Action.__init__(self, _("Create New Document..."))
@@ -49,13 +61,17 @@ class CreateNewDocument (Action):
def has_result(self):
return True
def activate(self, leaf, iobj):
- if iobj.object:
+ if iobj.object is not None:
# Copy the template to destination directory
basename = os.path.basename(iobj.object)
tmpl_gfile = gio.File(iobj.object)
destpath = utils.get_destpath_in_directory(leaf.object, basename)
destfile = gio.File(destpath)
tmpl_gfile.copy(destfile, flags=gio.FILE_COPY_ALL_METADATA)
+ elif isinstance(iobj, NewFolder):
+ filename = unicode(iobj)
+ destpath = utils.get_destpath_in_directory(leaf.object, filename)
+ os.makedirs(destpath)
else:
# create new empty file
filename = unicode(iobj)
@@ -73,6 +89,8 @@ class CreateNewDocument (Action):
def object_types(self):
yield Template
yield EmptyFile
+ yield NewFolder
+
def object_source(self, for_item=None):
return TemplatesSource()
@@ -83,6 +101,8 @@ class CreateNewDocument (Action):
class CreateDocumentIn(helplib.reverse_action(CreateNewDocument)):
rank_adjust = 10
+ def __init__(self):
+ Action.__init__(self, _("Create Document In..."))
class TemplatesSource (Source, FilesystemWatchMixin):
def __init__(self):
@@ -101,6 +121,7 @@ class TemplatesSource (Source, FilesystemWatchMixin):
def get_items(self):
tmpl_dir = self._get_tmpl_dir()
yield EmptyFile()
+ yield NewFolder()
try:
for fname in os.listdir(tmpl_dir):
yield Template(os.path.join(tmpl_dir, fname))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]