scanner: Create a custom RemoveButton widget
For removing a specific library from the database. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
5e08088462
commit
8f837b40c1
|
@ -36,6 +36,7 @@ class TestScannerUpdateButton(unittest.TestCase):
|
|||
ub = widgets.UpdateButton(lib, q)
|
||||
|
||||
self.assertIsInstance(ub, Gtk.Button)
|
||||
self.assertIsInstance(ub, widgets.ScannerButton)
|
||||
self.assertEqual(ub.get_icon_name(), "view-refresh")
|
||||
self.assertEqual(ub.library, lib)
|
||||
self.assertEqual(ub.queue, q)
|
||||
|
@ -46,3 +47,22 @@ class TestScannerUpdateButton(unittest.TestCase):
|
|||
self.assertIsInstance(q.tasks[0], task.CheckSchedulerTask)
|
||||
self.assertIsInstance(q.tasks[1], task.DirectoryTask)
|
||||
q.tasks_finished()
|
||||
|
||||
|
||||
class TestScannerRemoveButton(unittest.TestCase):
|
||||
def test_remove_button(self):
|
||||
lib = db.library.Table.find("/a/b/c")
|
||||
q = queue.TaskQueue()
|
||||
rb = widgets.RemoveButton(lib, q)
|
||||
|
||||
self.assertIsInstance(rb, Gtk.Button)
|
||||
self.assertIsInstance(rb, widgets.ScannerButton)
|
||||
self.assertEqual(rb.get_icon_name(), "list-remove")
|
||||
self.assertEqual(rb.library, lib)
|
||||
self.assertEqual(rb.queue, q)
|
||||
self.assertTrue(rb.get_hexpand())
|
||||
|
||||
rb.emit("clicked")
|
||||
self.assertEqual(len(q.tasks), 1)
|
||||
self.assertIsInstance(q.tasks[0], task.RemoveLibrarySchedulerTask)
|
||||
q.tasks_finished()
|
||||
|
|
|
@ -25,15 +25,28 @@ class ProgressBar(Gtk.ProgressBar):
|
|||
self.set_visible(False)
|
||||
|
||||
|
||||
class UpdateButton(Gtk.Button):
|
||||
def __init__(self, library, queue):
|
||||
class ScannerButton(Gtk.Button):
|
||||
def __init__(self, queue, icon_name):
|
||||
Gtk.Button.__init__(self)
|
||||
self.library = library
|
||||
self.set_icon_name(icon_name)
|
||||
self.set_hexpand(True)
|
||||
self.queue = queue
|
||||
|
||||
self.set_icon_name("view-refresh")
|
||||
self.set_hexpand(True)
|
||||
|
||||
class UpdateButton(ScannerButton):
|
||||
def __init__(self, library, queue):
|
||||
ScannerButton.__init__(self, queue, "view-refresh")
|
||||
self.library = library
|
||||
|
||||
def do_clicked(self):
|
||||
self.queue.push(task.CheckSchedulerTask(self.library))
|
||||
self.queue.push(task.DirectoryTask(self.library, self.library.path))
|
||||
|
||||
|
||||
class RemoveButton(ScannerButton):
|
||||
def __init__(self, library, queue):
|
||||
ScannerButton.__init__(self, queue, "list-remove")
|
||||
self.library = library
|
||||
|
||||
def do_clicked(self):
|
||||
self.queue.push(task.RemoveLibrarySchedulerTask(self.library))
|
||||
|
|
Loading…
Reference in New Issue