gnome-mud r758 - in trunk: . src ui
- From: lharris svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-mud r758 - in trunk: . src ui
- Date: Wed, 25 Feb 2009 00:06:10 +0000 (UTC)
Author: lharris
Date: Wed Feb 25 00:06:10 2009
New Revision: 758
URL: http://svn.gnome.org/viewvc/gnome-mud?rev=758&view=rev
Log:
Quickconnect, Char Deletion Fixes.
Modified:
trunk/ChangeLog
trunk/src/mud-connections.c
trunk/src/mud-telnet-msp.c
trunk/src/mud-telnet.h
trunk/ui/muds.glade
Modified: trunk/src/mud-connections.c
==============================================================================
--- trunk/src/mud-connections.c (original)
+++ trunk/src/mud-connections.c Wed Feb 25 00:06:10 2009
@@ -49,6 +49,10 @@
GtkTreeModel *icon_model;
GtkTreeModel *profile_model;
+ GtkWidget *qconnect_host_entry;
+ GtkWidget *qconnect_port_entry;
+ GtkWidget *qconnect_connect_button;
+
// Properties Dialog
GtkWidget *properties_window;
GtkWidget *name_entry;
@@ -110,6 +114,8 @@
MudConnections *conn);
static void mud_connections_property_icon_cb(GtkWidget *widget,
MudConnections *conn);
+static void mud_connections_qconnect_cb(GtkWidget *widget,
+ MudConnections *conn);
static gboolean mud_connections_property_changed_cb(GtkWidget *widget,
GdkEventKey *event,
MudConnections *conn);
@@ -187,6 +193,13 @@
conn->priv->window = glade_xml_get_widget(glade, "mudviewwindow");
conn->priv->iconview = glade_xml_get_widget(glade, "iconview");
+ conn->priv->qconnect_host_entry =
+ glade_xml_get_widget(glade, "qconnect_host_entry");
+ conn->priv->qconnect_port_entry =
+ glade_xml_get_widget(glade, "qconnect_port_entry");
+ conn->priv->qconnect_connect_button =
+ glade_xml_get_widget(glade, "qconnect_connect_button");
+
conn->priv->icon_model =
GTK_TREE_MODEL(gtk_list_store_new(MODEL_COLUMN_N,
G_TYPE_STRING,
@@ -231,11 +244,14 @@
g_signal_connect(glade_xml_get_widget(glade, "properties_button"),
"clicked", G_CALLBACK(mud_connections_properties_cb),
conn);
+ g_signal_connect(conn->priv->qconnect_connect_button, "clicked",
+ G_CALLBACK(mud_connections_qconnect_cb), conn);
mud_connections_populate_iconview(conn);
gtk_widget_show_all(conn->priv->window);
g_object_unref(glade);
+ g_object_unref(client);
}
static void
@@ -262,6 +278,8 @@
parent_class = g_type_class_peek_parent(G_OBJECT_GET_CLASS(object));
parent_class->finalize(object);
+
+ g_object_unref(client);
}
// MudConnections Private Methods
@@ -366,6 +384,29 @@
}
static void
+mud_connections_qconnect_cb(GtkWidget *widget, MudConnections *conn)
+{
+ MudConnectionView *view;
+ const gchar *host;
+ gint port =
+ gtk_spin_button_get_value_as_int(
+ GTK_SPIN_BUTTON(conn->priv->qconnect_port_entry));
+
+ host = gtk_entry_get_text(GTK_ENTRY(conn->priv->qconnect_host_entry));
+
+ if(strlen(host) != 0)
+ {
+ mud_tray_update_icon(conn->priv->tray, offline);
+ view = mud_connection_view_new("Default", host, port,
+ conn->priv->winwidget,
+ (GtkWidget *)conn->priv->tray, (gchar *)host);
+ mud_window_add_connection_view(conn->priv->parent, view, (gchar *)host);
+
+ gtk_widget_destroy(conn->priv->window);
+ }
+}
+
+static void
mud_connections_add_cb(GtkWidget *widget, MudConnections *conn)
{
mud_connections_show_properties(conn, NULL);
@@ -378,7 +419,8 @@
gtk_icon_view_get_selected_items(
GTK_ICON_VIEW(conn->priv->iconview));
GtkTreeIter iter;
- gchar *buf, *mud_name, *key, *strip_name;
+ gchar *buf, *mud_name, *key, *strip_name,
+ *strip_char_name, *char_name;
gchar **mud_tuple;
gint len;
GConfClient *client = gconf_client_get_default();
@@ -386,41 +428,77 @@
if(g_list_length(selected) == 0)
return;
+ char_name = NULL;
+
gtk_tree_model_get_iter(conn->priv->icon_model, &iter,
(GtkTreePath *)selected->data);
gtk_tree_model_get(conn->priv->icon_model, &iter, 0, &buf, -1);
mud_tuple = g_strsplit(buf, "\n", -1);
+ g_free(buf);
len = g_strv_length(mud_tuple);
switch(len)
{
- case 1:
- mud_name = g_strdup(mud_tuple[0]);
- break;
+ /* Delete Mud */
+ case 1:
+ mud_name = g_strdup(mud_tuple[0]);
+ break;
+
+ /* Delete Character */
+ case 2:
+ char_name = g_strdup(mud_tuple[0]);
+ mud_name = g_strdup(mud_tuple[1]);
+ break;
+
+ default:
+ g_warning("Malformed mud name passed to delete.");
+ return;
+ }
- case 2:
- mud_name = g_strdup(mud_tuple[1]);
- break;
+ if(!mud_connections_delete_confirm(mud_tuple[0]))
+ {
+ g_free(mud_name);
+
+ if(char_name)
+ g_free(char_name);
+
+ g_strfreev(mud_tuple);
+ g_object_unref(client);
- default:
- g_warning("Malformed mud name passed to delete.");
return;
}
g_strfreev(mud_tuple);
- if(!mud_connections_delete_confirm(buf))
- return;
+ if(len == 1)
+ {
+ strip_name = remove_whitespace(mud_name);
+
+ key = g_strdup_printf("/apps/gnome-mud/muds/%s", strip_name);
+ gconf_client_recursive_unset(client, key, 0, NULL);
+
+ g_free(key);
+
+ gconf_client_suggest_sync(client, NULL);
+ }
+ else if(len == 2)
+ {
+ strip_name = remove_whitespace(mud_name);
+ strip_char_name = remove_whitespace(char_name);
- g_free(buf);
+ key = g_strdup_printf("/apps/gnome-mud/muds/%s/characters/%s",
+ strip_name, strip_char_name);
- strip_name = remove_whitespace(mud_name);
- key = g_strdup_printf("/apps/gnome-mud/muds/%s", strip_name);
- gconf_client_recursive_unset(client, key, 0, NULL);
- g_free(key);
- gconf_client_suggest_sync(client, NULL);
+ gconf_client_recursive_unset(client, key, 0, NULL);
+
+ g_free(key);
+ g_free(strip_char_name);
+ g_free(char_name);
+
+ gconf_client_suggest_sync(client, NULL);
+ }
g_free(mud_name);
g_free(strip_name);
@@ -446,9 +524,7 @@
(GtkTreePath *)selected->data);
gtk_tree_model_get(conn->priv->icon_model, &iter, 0, &buf, -1);
- mud_connections_show_properties(conn, g_strdup(buf));
-
- g_free(buf);
+ mud_connections_show_properties(conn, buf);
}
static void
Modified: trunk/src/mud-telnet-msp.c
==============================================================================
--- trunk/src/mud-telnet-msp.c (original)
+++ trunk/src/mud-telnet-msp.c Wed Feb 25 00:06:10 2009
@@ -147,15 +147,15 @@
if(telnet->msp_parser.arg_buffer == NULL)
telnet->msp_parser.arg_buffer = g_string_new(NULL);
- else
- {
- /* This stops some craziness where g_string_append_c
- doesn't actually update the gstring. Glib bug? */
- temp = g_strdup(telnet->msp_parser.arg_buffer->str);
- g_string_free(telnet->msp_parser.arg_buffer, TRUE);
- telnet->msp_parser.arg_buffer = g_string_new(temp);
- g_free(temp);
- }
+ // else
+ // {
+ // /* This stops some craziness where g_string_append_c
+ // doesn't actually update the gstring. Glib bug? */
+ // temp = g_strdup(telnet->msp_parser.arg_buffer->str);
+ // g_string_free(telnet->msp_parser.arg_buffer, TRUE);
+ // telnet->msp_parser.arg_buffer = g_string_new(temp);
+ // g_free(temp);
+ // }
while(telnet->msp_parser.lex_pos_end < *len &&
buf->str[telnet->msp_parser.lex_pos_end] != ')')
@@ -535,7 +535,7 @@
static void
mud_telnet_msp_process_command(MudTelnet *telnet, MudMSPCommand *command)
{
- /*g_message("MSP Command Parse Results");
+ /*g_message("MSP Command Parse Results");
g_print("Type: %s\n", (command->type == MSP_TYPE_SOUND) ? "Sound" :
"Music" );
g_print("Filename: %s\n", (command->fName != NULL) ? command->fName :
@@ -770,12 +770,12 @@
if(subdir->len != 0)
url_output = g_string_append(url_output, subdir->str);
- if(telnet->sound[type].current_command->T)
+/* if(telnet->sound[type].current_command->T)
{
url_output = g_string_append(url_output, telnet->sound[type].current_command->T);
url_output = g_string_append_c(url_output, '/');
}
-
+*/
url_output = g_string_append(url_output, file_name->str);
file_output = g_string_append(file_output, full_dir->str);
Modified: trunk/src/mud-telnet.h
==============================================================================
--- trunk/src/mud-telnet.h (original)
+++ trunk/src/mud-telnet.h Wed Feb 25 00:06:10 2009
@@ -68,7 +68,7 @@
#define TELOPT_ZMP 93 // ZMP - http://www.awemud.net/zmp/draft.php
// FIXME: What size should we use?
-#define TEL_SUBREQ_BUFFER_SIZE 256
+#define TEL_SUBREQ_BUFFER_SIZE 2048
#define TEL_HANDLERS_SIZE 256
#define TELOPT_STATE_QUEUE_EMPTY FALSE
#define TELOPT_STATE_QUEUE_OPPOSITE TRUE
Modified: trunk/ui/muds.glade
==============================================================================
--- trunk/ui/muds.glade (original)
+++ trunk/ui/muds.glade Wed Feb 25 00:06:10 2009
@@ -85,7 +85,7 @@
<widget class="GtkScrolledWindow" id="scrolledwindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hscrollbar_policy">never</property>
+ <property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property>
<child>
<widget class="GtkIconView" id="iconview">
@@ -99,97 +99,84 @@
</packing>
</child>
<child>
- <widget class="GtkExpander" id="expander">
+ <widget class="GtkHBox" id="hbox2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="use_markup">True</property>
<child>
- <widget class="GtkVBox" id="vbox4">
+ <widget class="GtkLabel" id="label12">
<property name="visible">True</property>
- <property name="orientation">vertical</property>
- <child>
- <widget class="GtkLabel" id="label7">
- <property name="visible">True</property>
- <property name="xalign">0.10000000149011612</property>
- <property name="label" translatable="yes"><b>Host:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkEntry" id="entry3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label8">
- <property name="visible">True</property>
- <property name="xalign">0.10000000149011612</property>
- <property name="label" translatable="yes"><b>Port:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkEntry" id="entry4">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="invisible_char">●</property>
- </widget>
- <packing>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHBox" id="hbox3">
- <property name="visible">True</property>
- <child>
- <widget class="GtkLabel" id="label9">
- <property name="visible">True</property>
- <property name="label" translatable="yes">
-</property>
- <property name="width_chars">32</property>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton" id="button3">
- <property name="label" translatable="yes">gtk-connect</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">4</property>
- </packing>
- </child>
</widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
</child>
<child>
- <widget class="GtkLabel" id="label1">
+ <widget class="GtkLabel" id="label13">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>Quick Connect</b></property>
- <property name="use_markup">True</property>
+ <property name="label" translatable="yes">_Host: </property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">qconnect_host_entry</property>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkEntry" id="qconnect_host_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"> _Port: </property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">qconnect_port_entry</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="qconnect_port_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="activates_default">True</property>
+ <property name="adjustment">23 1 50000 1 10 10</property>
+ <property name="numeric">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="qconnect_connect_button">
+ <property name="label" translatable="yes">gtk-connect</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="relief">half</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
</packing>
</child>
</widget>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]