[gnome-builder] create-project: sort preferred languages first
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] create-project: sort preferred languages first
- Date: Sat, 16 Sep 2017 23:08:07 +0000 (UTC)
commit 86e4220a839f2a260c546cb5d4261a49cc4871ba
Author: Christian Hergert <chergert redhat com>
Date: Sat Sep 16 16:07:23 2017 -0700
create-project: sort preferred languages first
As we add more languages, we want to keep certain languages at
the top.
plugins/create-project/gbp-create-project-widget.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/plugins/create-project/gbp-create-project-widget.c
b/plugins/create-project/gbp-create-project-widget.c
index 5784a92..3862b17 100644
--- a/plugins/create-project/gbp-create-project-widget.c
+++ b/plugins/create-project/gbp-create-project-widget.c
@@ -23,6 +23,7 @@
#include <ide.h>
#include <libpeas/peas.h>
#include <stdlib.h>
+#include <string.h>
#include "gbp-create-project-template-icon.h"
#include "gbp-create-project-widget.h"
@@ -51,12 +52,28 @@ static GParamSpec *properties [N_PROPS];
G_DEFINE_TYPE (GbpCreateProjectWidget, gbp_create_project_widget, GTK_TYPE_BIN)
+static gboolean
+is_preferred (const gchar *name)
+{
+ return 0 == strcasecmp (name, "c") ||
+ 0 == strcasecmp (name, "vala") ||
+ 0 == strcasecmp (name, "javascript") ||
+ 0 == strcasecmp (name, "python");
+}
+
static int
sort_by_name (gconstpointer a,
gconstpointer b)
{
const gchar * const *astr = a;
const gchar * const *bstr = b;
+ gboolean apref = is_preferred (*astr);
+ gboolean bpref = is_preferred (*bstr);
+
+ if (apref && !bpref)
+ return -1;
+ else if (!apref && bpref)
+ return 1;
return g_utf8_collate (*astr, *bstr);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]