X-Git-Url: http://gitweb.michael.orlitzky.com/?p=xfce4-hdaps.git;a=blobdiff_plain;f=panel-plugin%2Fxfce4-hdaps-dialogs.c;h=7878e418089081a930df3fcf584a955efc162df6;hp=5f2e87711ddf2ffb08d9943f660fe38af678a20e;hb=8c39d1e4bf121a522dcc12eb72c1d4d84e943f13;hpb=5f69fb70c315fbbf79e435c88fabfb1b86be4b2a diff --git a/panel-plugin/xfce4-hdaps-dialogs.c b/panel-plugin/xfce4-hdaps-dialogs.c index 5f2e877..7878e41 100644 --- a/panel-plugin/xfce4-hdaps-dialogs.c +++ b/panel-plugin/xfce4-hdaps-dialogs.c @@ -22,10 +22,12 @@ #include #endif +#include #include #include #include #include "xfce4-hdaps-dialogs.h" +#include "hdaps.h" /* Wild guess. Actually borrowed from some code I copy-and-pasted. Doesn't seem too ugly. */ @@ -153,6 +155,7 @@ void hdaps_configure(XfcePanelPlugin *plugin, gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); hdaps->cb_device_name = gtk_combo_box_new_text(); + /* Add the current device name, it should always be available. Oh, and it should be the default, too. */ gtk_combo_box_append_text((GtkComboBox*)hdaps->cb_device_name, hdaps->device_name); @@ -162,14 +165,19 @@ void hdaps_configure(XfcePanelPlugin *plugin, gtk_combo_box_set_active((GtkComboBox*)hdaps->cb_device_name, 0); /* Now loop through the list of available devices, adding each - to the list as we go. I believe GTK takes care of the duplicates - for us. */ + to the list as we go. */ char hdaps_devices[MAX_HDAPS_DEVICES][FILENAME_MAX]; int found_devices = get_hdaps_device_list(hdaps_devices); int list_idx = 0; for (list_idx = 0; list_idx < found_devices; list_idx++) { - gtk_combo_box_append_text((GtkComboBox*)hdaps->cb_device_name, hdaps_devices[list_idx]); + /* We don't want to add duplicate entries to the combo box. + However, at this point, the current device name should be + the only entry. Therefore, to avoid duplicates, we only + have to avoid adding the current device name a second time. */ + if (strcmp(hdaps_devices[list_idx], hdaps->device_name) != 0) { + gtk_combo_box_append_text((GtkComboBox*)hdaps->cb_device_name, hdaps_devices[list_idx]); + } } gtk_box_pack_start(GTK_BOX(hbox), hdaps->cb_device_name, FALSE, FALSE, 0); @@ -192,7 +200,7 @@ void hdaps_about(XfcePanelPlugin *plugin) { about = xfce_about_info_new("xfce4-hdaps", VERSION, _("An HDAPS Plugin for XFCE4"), - XFCE_COPYRIGHT_TEXT("2009", "Michael Orlitzky"), + XFCE_COPYRIGHT_TEXT("2010", "Michael Orlitzky"), NULL); xfce_about_info_set_homepage(about, PLUGIN_WEBSITE);