mirror of
https://github.com/samba-team/samba.git
synced 2025-03-14 00:58:38 +03:00
r4390: Registry value and key names are case-insensitive
Nicer menu layout in gregedit
This commit is contained in:
parent
e30b8d5783
commit
2948b9750d
@ -379,6 +379,16 @@ static void on_open_gconf_activate (GtkMenuItem *menui
|
||||
registry_load_hive(root);
|
||||
}
|
||||
|
||||
static void on_open_local_activate(GtkMenuItem *menuitem, gpointer user_data)
|
||||
{
|
||||
WERROR error = reg_open_local(®istry);
|
||||
if(!W_ERROR_IS_OK(error)) {
|
||||
gtk_show_werror(mainwin, error);
|
||||
return;
|
||||
}
|
||||
registry_load_root();
|
||||
}
|
||||
|
||||
static void on_open_remote_activate(GtkMenuItem *menuitem, gpointer user_data)
|
||||
{
|
||||
char *tmp;
|
||||
@ -661,6 +671,7 @@ static GtkWidget* create_mainwin (void)
|
||||
GtkWidget *open_w95;
|
||||
GtkWidget *open_gconf;
|
||||
GtkWidget *open_remote;
|
||||
GtkWidget *open_local;
|
||||
GtkWidget *separatormenuitem1;
|
||||
GtkWidget *quit;
|
||||
GtkWidget *men_key;
|
||||
@ -694,6 +705,25 @@ static GtkWidget* create_mainwin (void)
|
||||
menu_file_menu = gtk_menu_new ();
|
||||
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_file), menu_file_menu);
|
||||
|
||||
open_local = gtk_menu_item_new_with_mnemonic ("Open _Local");
|
||||
gtk_container_add (GTK_CONTAINER (menu_file_menu), open_local);
|
||||
g_signal_connect ((gpointer) open_local, "activate",
|
||||
G_CALLBACK (on_open_local_activate), NULL);
|
||||
|
||||
if(reg_has_backend("rpc")) {
|
||||
open_remote = gtk_menu_item_new_with_mnemonic ("Open _Remote");
|
||||
gtk_container_add (GTK_CONTAINER (menu_file_menu), open_remote);
|
||||
|
||||
g_signal_connect ((gpointer) open_remote, "activate",
|
||||
G_CALLBACK (on_open_remote_activate),
|
||||
NULL);
|
||||
}
|
||||
|
||||
separatormenuitem1 = gtk_menu_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (menu_file_menu), separatormenuitem1);
|
||||
gtk_widget_set_sensitive (separatormenuitem1, FALSE);
|
||||
|
||||
|
||||
if(reg_has_backend("nt4")) {
|
||||
open_nt4 = gtk_image_menu_item_new_with_mnemonic("Open _NT4 file");
|
||||
gtk_container_add (GTK_CONTAINER (menu_file_menu), open_nt4);
|
||||
@ -721,15 +751,6 @@ static GtkWidget* create_mainwin (void)
|
||||
NULL);
|
||||
}
|
||||
|
||||
if(reg_has_backend("rpc")) {
|
||||
open_remote = gtk_menu_item_new_with_mnemonic ("Open _Remote");
|
||||
gtk_container_add (GTK_CONTAINER (menu_file_menu), open_remote);
|
||||
|
||||
g_signal_connect ((gpointer) open_remote, "activate",
|
||||
G_CALLBACK (on_open_remote_activate),
|
||||
NULL);
|
||||
}
|
||||
|
||||
if(reg_has_backend("ldb")) {
|
||||
open_ldb = gtk_image_menu_item_new_with_mnemonic("Open _LDB file");
|
||||
gtk_container_add (GTK_CONTAINER (menu_file_menu), open_ldb);
|
||||
|
@ -98,6 +98,9 @@ typedef void (*value_notification_function) (void);
|
||||
* - just one hive (example: nt4, w95)
|
||||
* - several hives (example: rpc).
|
||||
*
|
||||
* Backends should always do case-insensitive compares
|
||||
* (everything is case-insensitive but case-preserving,
|
||||
* just like the FS)
|
||||
*/
|
||||
|
||||
struct hive_operations {
|
||||
|
@ -119,7 +119,7 @@ WERROR reg_get_predefined_key_by_name(struct registry_context *ctx, const char *
|
||||
int i;
|
||||
|
||||
for (i = 0; predef_names[i].name; i++) {
|
||||
if (!strcmp(predef_names[i].name, name)) return reg_get_predefined_key(ctx, predef_names[i].handle, key);
|
||||
if (!strcasecmp(predef_names[i].name, name)) return reg_get_predefined_key(ctx, predef_names[i].handle, key);
|
||||
}
|
||||
|
||||
DEBUG(1, ("No predefined key with name '%s'\n", name));
|
||||
@ -347,7 +347,7 @@ WERROR reg_key_get_subkey_by_name(TALLOC_CTX *mem_ctx, struct registry_key *key,
|
||||
} else if(key->hive->functions->get_subkey_by_index) {
|
||||
for(i = 0; W_ERROR_IS_OK(error); i++) {
|
||||
error = reg_key_get_subkey_by_index(mem_ctx, key, i, subkey);
|
||||
if(W_ERROR_IS_OK(error) && !strcmp((*subkey)->name, name)) {
|
||||
if(W_ERROR_IS_OK(error) && !strcasecmp((*subkey)->name, name)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -378,7 +378,7 @@ WERROR reg_key_get_value_by_name(TALLOC_CTX *mem_ctx, struct registry_key *key,
|
||||
} else {
|
||||
for(i = 0; W_ERROR_IS_OK(error); i++) {
|
||||
error = reg_key_get_value_by_index(mem_ctx, key, i, val);
|
||||
if(W_ERROR_IS_OK(error) && !strcmp((*val)->name, name)) {
|
||||
if(W_ERROR_IS_OK(error) && !strcasecmp((*val)->name, name)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user