static gint cpufreq_applet_get_max_label_width (CPUFreqApplet *applet) { GList *available_freqs; gint width = 0; if (applet->max_label_width > 0) return applet->max_label_width; if (!CPUFREQ_IS_MONITOR (applet->monitor)) return 0; available_freqs = cpufreq_monitor_get_available_frequencies (applet->monitor); while (available_freqs) { GtkWidget *label; #if GTK_CHECK_VERSION (3, 0, 0) gint label_width; #else GtkRequisition req; #endif const gchar *text; gchar *freq_text; gint freq; text = (const gchar *) available_freqs->data; freq = atoi (text); freq_text = cpufreq_utils_get_frequency_label (freq); label = gtk_label_new (freq_text); #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_get_preferred_width (applet->label, &label_width, NULL); width = MAX (width, label_width); #endif #if !GTK_CHECK_VERSION (3, 0, 0) gtk_widget_size_request (label, &req); width = MAX (width, req.width); #endif g_free (freq_text); gtk_widget_destroy (label); available_freqs = g_list_next (available_freqs); } applet->max_label_width = width; return width; }
static gint cpufreq_applet_get_max_label_width (CPUFreqApplet *applet) { GList *available_freqs; gint width = 0; if (applet->max_label_width > 0) return applet->max_label_width; if (!CPUFREQ_IS_MONITOR (applet->monitor)) return 0; available_freqs = cpufreq_monitor_get_available_frequencies (applet->monitor); while (available_freqs) { GtkWidget *label; gint label_width; const gchar *text; gchar *freq_text; gint freq; text = (const gchar *) available_freqs->data; freq = atoi (text); freq_text = cpufreq_utils_get_frequency_label (freq); label = gtk_label_new (freq_text); gtk_widget_get_preferred_width (label, &label_width, NULL); width = MAX (width, label_width); g_free (freq_text); gtk_widget_destroy (label); available_freqs = g_list_next (available_freqs); } applet->max_label_width = width; return width; }