panel: allow building the applet without X11
This commit is contained in:
parent
39c84f1faf
commit
fb36a3f24b
|
@ -34,9 +34,11 @@
|
|||
#endif
|
||||
#include <string.h>
|
||||
#include <gtk/gtk.h>
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
# if GTK_CHECK_VERSION(3, 0, 0)
|
||||
# include <gtk/gtkx.h>
|
||||
# endif
|
||||
#endif
|
||||
#include <Desktop.h>
|
||||
#include "Phone.h"
|
||||
|
||||
|
@ -73,6 +75,7 @@ typedef struct _PhonePlugin
|
|||
{
|
||||
PhonePluginHelper * helper;
|
||||
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
guint timeout;
|
||||
GtkWidget * plug;
|
||||
GtkWidget * hbox;
|
||||
|
@ -92,6 +95,7 @@ typedef struct _PhonePlugin
|
|||
GtkWidget * window;
|
||||
GtkWidget * battery;
|
||||
GtkWidget * truncate;
|
||||
#endif
|
||||
} Panel;
|
||||
|
||||
|
||||
|
@ -101,12 +105,14 @@ static void _panel_destroy(Panel * panel);
|
|||
static int _panel_event(Panel * panel, PhoneEvent * event);
|
||||
static void _panel_settings(Panel * panel);
|
||||
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
static void _panel_set_battery_level(Panel * panel, gdouble level,
|
||||
gboolean charging);
|
||||
static void _panel_set_operator(Panel * panel, ModemRegistrationStatus status,
|
||||
char const * _operator);
|
||||
static void _panel_set_signal_level(Panel * panel, gdouble level);
|
||||
static void _panel_set_status(Panel * panel, gboolean data, gboolean roaming);
|
||||
#endif
|
||||
|
||||
|
||||
/* public */
|
||||
|
@ -126,12 +132,15 @@ PhonePluginDefinition plugin =
|
|||
/* private */
|
||||
/* functions */
|
||||
/* panel_init */
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
static gboolean _on_plug_delete_event(gpointer data);
|
||||
static void _on_plug_embedded(gpointer data);
|
||||
static gboolean _on_battery_timeout(gpointer data);
|
||||
#endif
|
||||
|
||||
static Panel * _panel_init(PhonePluginHelper * helper)
|
||||
{
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
Panel * panel;
|
||||
PangoFontDescription * bold;
|
||||
char const * p;
|
||||
|
@ -208,8 +217,15 @@ static Panel * _panel_init(PhonePluginHelper * helper)
|
|||
pango_font_description_free(bold);
|
||||
_on_plug_delete_event(panel);
|
||||
return panel;
|
||||
#else
|
||||
(void) helper;
|
||||
|
||||
error_set_code(-ENOSYS, "%s", "X11 support not detected");
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
static gboolean _on_plug_delete_event(gpointer data)
|
||||
{
|
||||
Panel * panel = data;
|
||||
|
@ -250,25 +266,33 @@ static gboolean _on_battery_timeout(gpointer data)
|
|||
panel->helper->request(panel->helper->phone, &request);
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* panel_destroy */
|
||||
static void _panel_destroy(Panel * panel)
|
||||
{
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
if(panel->battery_timeout != 0)
|
||||
g_source_remove(panel->battery_timeout);
|
||||
if(panel->timeout != 0)
|
||||
g_source_remove(panel->timeout);
|
||||
gtk_widget_destroy(panel->hbox);
|
||||
object_delete(panel);
|
||||
#else
|
||||
(void) panel;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* panel_event */
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
static int _event_modem_event(Panel * panel, ModemEvent * event);
|
||||
#endif
|
||||
|
||||
static int _panel_event(Panel * panel, PhoneEvent * event)
|
||||
{
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
switch(event->type)
|
||||
{
|
||||
case PHONE_EVENT_TYPE_MODEM_EVENT:
|
||||
|
@ -297,9 +321,15 @@ static int _panel_event(Panel * panel, PhoneEvent * event)
|
|||
default:
|
||||
break;
|
||||
}
|
||||
#else
|
||||
(void) panel;
|
||||
(void) event;
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
static int _event_modem_event(Panel * panel, ModemEvent * event)
|
||||
{
|
||||
char const * media = "";
|
||||
|
@ -328,8 +358,10 @@ static int _event_modem_event(Panel * panel, ModemEvent * event)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
/* panel_set_battery_level */
|
||||
static void _set_battery_image(Panel * panel, PanelBattery battery,
|
||||
gboolean charging);
|
||||
|
@ -489,15 +521,19 @@ static void _panel_set_status(Panel * panel, gboolean data, gboolean roaming)
|
|||
else
|
||||
gtk_widget_hide(panel->roaming);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* panel_settings */
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
static void _on_settings_cancel(gpointer data);
|
||||
static gboolean _on_settings_closex(gpointer data);
|
||||
static void _on_settings_ok(gpointer data);
|
||||
#endif
|
||||
|
||||
static void _panel_settings(Panel * panel)
|
||||
{
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
GtkWidget * vbox;
|
||||
GtkWidget * bbox;
|
||||
GtkWidget * widget;
|
||||
|
@ -548,8 +584,13 @@ static void _panel_settings(Panel * panel)
|
|||
gtk_container_add(GTK_CONTAINER(panel->window), vbox);
|
||||
_on_settings_cancel(panel);
|
||||
gtk_widget_show_all(panel->window);
|
||||
#else
|
||||
(void) panel;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(GDK_WINDOWING_X11)
|
||||
static void _on_settings_cancel(gpointer data)
|
||||
{
|
||||
Panel * panel = data;
|
||||
|
@ -610,3 +651,4 @@ static void _on_settings_ok(gpointer data)
|
|||
helper->config_set(helper->phone, "panel", "truncate", value
|
||||
? "1" : "0");
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue
Block a user