diff --git a/src/devede/message.py b/src/devede/message.py index 962d567..4f926b3 100644 --- a/src/devede/message.py +++ b/src/devede/message.py @@ -36,12 +36,13 @@ class message_window: wmessage_text.set_markup(text) wmessage_list = builder.get_object("list_message") wmessage_liststore = builder.get_object("liststore_elements") + wmessage_window.show_all() + if (list_data == None): wmessage_list.hide() else: for element in list_data: wmessage_liststore.append([element]) - wmessage_window.show_all() wmessage_window.run() wmessage_window.destroy() diff --git a/src/devede/project.py b/src/devede/project.py index 6615e82..be8f1a8 100644 --- a/src/devede/project.py +++ b/src/devede/project.py @@ -393,6 +393,17 @@ class devede_project: def on_create_disc_clicked(self,b): + if self.disc_type == "dvd": + max_files = 62 + else: + max_files = -1 + + file_movies = self.get_all_files() + t = len(file_movies) + if (max_files != -1) and (t > max_files): + devede.message.message_window(_("The limit for this format is %(l)d files, but your project has %(h)d.") % {"l": max_files, "h" : t}, _("Too many files in the project")) + return + data = devede.create_disk_window.create_disk_window() if (not data.run()): return @@ -408,7 +419,6 @@ class devede_project: self.shutdown = data.shutdown run_window = devede.runner.runner() - file_movies = self.get_all_files() final_dependencies = [] diff --git a/src/devede/shutdown.py b/src/devede/shutdown.py index 0bfb805..a69d6b3 100644 --- a/src/devede/shutdown.py +++ b/src/devede/shutdown.py @@ -15,28 +15,28 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see -import dbus +from gi.repository import Gio, GLib class shutdown: - + def __init__(self): # First, try with logind try: - bus = dbus.SystemBus() - bus_object = bus.get_object("org.freedesktop.login1", "/org/freedesktop/login1") - bus_object.PowerOff(False, dbus_interface="org.freedesktop.login1.Manager") + bus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None) + bus.call_sync("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", + "PowerOff", GLib.Variant_boolean('(bb)', ( False , False) ), None, Gio.DBusCallFlags.NONE, -1, None) except: failure=True if (failure): failure=False - + # If it fails, try with ConsoleKit try: - bus = dbus.SystemBus() - bus_object = bus.get_object("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager") - bus_object.Stop(dbus_interface="org.freedesktop.ConsoleKit.Manager") + bus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None) + bus.call_sync("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", + "Stop", None, None, Gio.DBusCallFlags.NONE, -1, None) except: failure=True @@ -45,8 +45,8 @@ class shutdown: # If it fails, try with HAL try: - bus = dbus.SystemBus() - bus_object = bus.get_object("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer") - bus_object.Shutdown(dbus_interface="org.freedesktop.Hal.Device.SystemPowerManagement") + bus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None) + bus.call_sync("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer","org.freedesktop.Hal.Device.SystemPowerManagement", + "Shutdown", None, None, Gio.DBusCallFlags.NONE, -1, None) except: failure=True diff --git a/src/devede_ng.py b/src/devede_ng.py index b6cc5ff..bbca97d 100755 --- a/src/devede_ng.py +++ b/src/devede_ng.py @@ -25,7 +25,6 @@ from gi.repository import Gtk import devede.project import devede.configuration_data import devede.choose_disc_type -import devede.converter config_data = devede.configuration_data.configuration.get_config()