Skip to content
This repository has been archived by the owner on Feb 3, 2020. It is now read-only.

Commit

Permalink
use new uxie floating manager
Browse files Browse the repository at this point in the history
  • Loading branch information
baverman committed Sep 28, 2011
1 parent 2c04c37 commit a1cdf8d
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 17 deletions.
File renamed without changes.
2 changes: 1 addition & 1 deletion fmd/app.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import gtk

from uxie.actions import Activator, ContextActivator
from uxie.feedback import TextFeedback, FeedbackManager, FeedbackHelper
from uxie.floating import Manager as FeedbackManager
from uxie.plugins import Manager as PluginManager

import filelist
Expand Down
16 changes: 13 additions & 3 deletions fmd/filelist.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from uxie.search import InteractiveSearch
from uxie.tree import SelectionListStore
from uxie.feedback import FeedbackHelper
from uxie.floating import FeedbackHelper
from uxie.misc import InputDialog
from uxie.utils import idle

Expand Down Expand Up @@ -132,7 +132,7 @@ def __init__(self, clipboard, executor):

self.sw.add(view)

self.isearch = InteractiveSearch(self._search)
self.isearch = InteractiveSearch(self._search, self._search_widget_created)
self.isearch.attach(view)

self.icon_cache = {}
Expand All @@ -142,14 +142,17 @@ def __init__(self, clipboard, executor):

self.monitor = None

def _search_widget_created(self, widget):
self.feedback.show_widget(widget, 10, 0, False)

@property
def feedback(self):
try:
return self._feedback
except AttributeError:
pass

self._feedback = FeedbackHelper(self.view.get_toplevel().feedback, self.view.window)
self._feedback = FeedbackHelper(self.view.get_toplevel().feedback, self.view)
return self._feedback

def _search(self, text, direction, skip):
Expand Down Expand Up @@ -378,6 +381,13 @@ def show_hidden(self):
self.show_hidden = not self.show_hidden
self.fill()

def get_cursor_for_name(self, name):
for row in self.model:
if row[1] == name:
return row.path

return None

def get_filelist_from_selection(self):
result = []
for path in self.model.selection:
Expand Down
4 changes: 2 additions & 2 deletions fmd/iconview.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def __init__(self, view, icell, tcell):
self.width = self.tx + self.twidth


class FmdIconView(gtk.DrawingArea):
class FmdIconView(gtk.EventBox):
__gsignals__ = {
"expose-event": "override",
"realize": "override",
Expand All @@ -46,7 +46,7 @@ class FmdIconView(gtk.DrawingArea):
}

def __init__(self):
gtk.DrawingArea.__init__(self)
gtk.EventBox.__init__(self)

self.set_can_focus(True)
self.add_events(gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.KEY_PRESS_MASK)
Expand Down
16 changes: 11 additions & 5 deletions fmd/plugins/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def fill_widget(widget, model, selection):
def on_selection_changed(model, selection):
feedback = info_bar[0]
if feedback:
fill_widget(feedback.widget, model, selection)
fill_widget(feedback.label, model, selection)

info_bar = [None]

Expand All @@ -30,11 +30,17 @@ def show_info(filelist):
info_bar[0] = None
return

widget = gtk.Label()
widget.set_padding(10, 5)
widget.set_justify(gtk.JUSTIFY_RIGHT)
widget = gtk.EventBox()
frame = gtk.Frame()
widget.add(frame)

fill_widget(widget, filelist.model, filelist.model.selection)
label = gtk.Label()
label.set_padding(10, 5)
label.set_justify(gtk.JUSTIFY_RIGHT)
frame.add(label)

fill_widget(label, filelist.model, filelist.model.selection)

feedback = filelist.feedback.show_widget(widget)
feedback.label = label
info_bar[0] = feedback
6 changes: 5 additions & 1 deletion fmd/plugins/sync_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,9 @@ def sync_names(filelist):
target = filelist.current_folder.get_child_for_display_name(name2 + ext1)

source.move(target)
filelist.view.refresh()

filelist.fill()
filelist.view.set_cursor(filelist.get_cursor_for_name(fi2.get_display_name()))
filelist.view.refresh(False)

filelist.feedback.show('Synced', 'done')
15 changes: 10 additions & 5 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
from setuptools import setup, find_packages
from setuptools.command import easy_install

def install_script(self, dist, script_name, script_text, dev_path=None):
script_text = easy_install.get_script_header(script_text) + (
''.join(script_text.splitlines(True)[1:]))

self.write_script(script_name, script_text, 'b')

easy_install.easy_install.install_script = install_script

setup(
name = 'fmd',
Expand All @@ -9,13 +18,9 @@
#long_description = open('README.rst').read().replace('https', 'http'),
zip_safe = False,
packages = find_packages(exclude=('tests', )),
scripts = ['bin/fmd'],
include_package_data = True,
url = 'http://github.com/baverman/fmd',
entry_points = {
'gui_scripts': [
'fmd = fmd.run:run',
]
},
classifiers = [
"Programming Language :: Python",
"License :: OSI Approved :: MIT License",
Expand Down

0 comments on commit a1cdf8d

Please sign in to comment.