brasero r1019 - in trunk: . src
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1019 - in trunk: . src
- Date: Fri, 18 Jul 2008 14:00:11 +0000 (UTC)
Author: philippr
Date: Fri Jul 18 14:00:11 2008
New Revision: 1019
URL: http://svn.gnome.org/viewvc/brasero?rev=1019&view=rev
Log:
Improved previous patch by Lin Ma so that dialogs derived from
BRASERO_TYPE_TOOL_DIALOG can choose the type of media they
want to display.
That way:
- check dialog only shows readable media (with data that can be read, whether ROM, +, R, RW, ....)
- eject dialog show all media inserted
- blank dialog shows all rewritable media
* src/brasero-blank-dialog.c (brasero_blank_dialog_drive_changed),
(brasero_blank_dialog_init):
* src/brasero-eject-dialog.c (brasero_eject_dialog_init):
* src/brasero-sum-dialog.c (brasero_sum_dialog_init):
* src/brasero-tool-dialog.c
(brasero_tool_dialog_set_medium_type_shown):
* src/brasero-tool-dialog.h:
* src/burn-medium-monitor.c (brasero_medium_monitor_get_media):
* src/burn-medium-monitor.h:
Modified:
trunk/ChangeLog
trunk/src/brasero-blank-dialog.c
trunk/src/brasero-eject-dialog.c
trunk/src/brasero-sum-dialog.c
trunk/src/brasero-tool-dialog.c
trunk/src/brasero-tool-dialog.h
trunk/src/burn-medium-monitor.c
trunk/src/burn-medium-monitor.h
Modified: trunk/src/brasero-blank-dialog.c
==============================================================================
--- trunk/src/brasero-blank-dialog.c (original)
+++ trunk/src/brasero-blank-dialog.c Fri Jul 18 14:00:11 2008
@@ -184,7 +184,10 @@
else
drive = NULL;
- brasero_burn_session_set_burner (priv->session, drive);
+ /* it can happen that the drive changed while initializing and that
+ * session hasn't been created yet. */
+ if (priv->session)
+ brasero_burn_session_set_burner (priv->session, drive);
}
static gboolean
@@ -365,6 +368,10 @@
NULL,
"media-optical-blank");
+ /* only media that can be rewritten with or without data */
+ brasero_tool_dialog_set_medium_type_shown (BRASERO_TOOL_DIALOG (obj),
+ BRASERO_MEDIA_TYPE_REWRITABLE);
+
medium = brasero_tool_dialog_get_medium (BRASERO_TOOL_DIALOG (obj));
drive = brasero_medium_get_drive (medium);
Modified: trunk/src/brasero-eject-dialog.c
==============================================================================
--- trunk/src/brasero-eject-dialog.c (original)
+++ trunk/src/brasero-eject-dialog.c Fri Jul 18 14:00:11 2008
@@ -134,6 +134,10 @@
NULL,
"media-eject");
+ /* all kinds of media */
+ brasero_tool_dialog_set_medium_type_shown (BRASERO_TOOL_DIALOG (obj),
+ BRASERO_MEDIA_TYPE_ALL_BUT_FILE);
+
medium = brasero_tool_dialog_get_medium (BRASERO_TOOL_DIALOG (obj));
if (medium) {
brasero_tool_dialog_set_valid (BRASERO_TOOL_DIALOG (obj), BRASERO_MEDIUM_VALID (brasero_medium_get_status (medium)));
Modified: trunk/src/brasero-sum-dialog.c
==============================================================================
--- trunk/src/brasero-sum-dialog.c (original)
+++ trunk/src/brasero-sum-dialog.c Fri Jul 18 14:00:11 2008
@@ -752,6 +752,10 @@
GTK_STOCK_FIND,
NULL);
+ /* only media with data, no blank medium */
+ brasero_tool_dialog_set_medium_type_shown (BRASERO_TOOL_DIALOG (obj),
+ BRASERO_MEDIA_TYPE_READABLE);
+
medium = brasero_tool_dialog_get_medium (BRASERO_TOOL_DIALOG (obj));
if (medium) {
brasero_tool_dialog_set_valid (BRASERO_TOOL_DIALOG (obj), BRASERO_MEDIUM_VALID (brasero_medium_get_status (medium)));
Modified: trunk/src/brasero-tool-dialog.c
==============================================================================
--- trunk/src/brasero-tool-dialog.c (original)
+++ trunk/src/brasero-tool-dialog.c Fri Jul 18 14:00:11 2008
@@ -335,6 +335,14 @@
gtk_widget_set_sensitive (self->priv->button, valid);
}
+void
+brasero_tool_dialog_set_medium_type_shown (BraseroToolDialog *self,
+ BraseroMediaType media_type)
+{
+ brasero_drive_selection_set_type_shown (BRASERO_DRIVE_SELECTION (self->priv->selector),
+ media_type);
+}
+
BraseroMedium *
brasero_tool_dialog_get_medium (BraseroToolDialog *self)
{
Modified: trunk/src/brasero-tool-dialog.h
==============================================================================
--- trunk/src/brasero-tool-dialog.h (original)
+++ trunk/src/brasero-tool-dialog.h Fri Jul 18 14:00:11 2008
@@ -37,6 +37,7 @@
#include "burn.h"
#include "burn-medium.h"
#include "burn-session.h"
+#include "burn-medium-monitor.h"
G_BEGIN_DECLS
@@ -79,16 +80,18 @@
void
brasero_tool_dialog_set_valid (BraseroToolDialog *dialog,
gboolean valid);
-
void
-brasero_tool_dialog_set_progress (BraseroToolDialog *self,
+brasero_tool_dialog_set_medium_type_shown (BraseroToolDialog *dialog,
+ BraseroMediaType media_type);
+void
+brasero_tool_dialog_set_progress (BraseroToolDialog *dialog,
gdouble overall_progress,
gdouble task_progress,
glong remaining,
gint size_mb,
gint written_mb);
void
-brasero_tool_dialog_set_action (BraseroToolDialog *self,
+brasero_tool_dialog_set_action (BraseroToolDialog *dialog,
BraseroBurnAction action,
const gchar *string);
Modified: trunk/src/burn-medium-monitor.c
==============================================================================
--- trunk/src/burn-medium-monitor.c (original)
+++ trunk/src/burn-medium-monitor.c Fri Jul 18 14:00:11 2008
@@ -92,6 +92,13 @@
medium = iter->data;
drive = brasero_medium_get_drive (medium);
+ if ((type & BRASERO_MEDIA_TYPE_ALL_BUT_FILE)
+ && !(brasero_medium_get_status (medium) & BRASERO_MEDIUM_FILE)) {
+ list = g_slist_prepend (list, medium);
+ g_object_ref (medium);
+ continue;
+ }
+
if ((type & BRASERO_MEDIA_TYPE_ANY_IN_BURNER)
&& (brasero_drive_can_write (drive))) {
list = g_slist_prepend (list, medium);
Modified: trunk/src/burn-medium-monitor.h
==============================================================================
--- trunk/src/burn-medium-monitor.h (original)
+++ trunk/src/burn-medium-monitor.h Fri Jul 18 14:00:11 2008
@@ -60,6 +60,7 @@
BRASERO_MEDIA_TYPE_WRITABLE = 1 << 2,
BRASERO_MEDIA_TYPE_REWRITABLE = 1 << 3,
BRASERO_MEDIA_TYPE_ANY_IN_BURNER = 1 << 4,
+ BRASERO_MEDIA_TYPE_ALL_BUT_FILE = 0xFE,
BRASERO_MEDIA_TYPE_ALL = 0xFF
} BraseroMediaType;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]