| 113 | | return g_strdup(""); |
| | 113 | /* Create the password dialog. */ |
| | 114 | GtkWidget *primaryLabel = gtk_label_new (""); |
| | 115 | gtk_label_set_markup (GTK_LABEL (primaryLabel), |
| | 116 | "<span weight=\"bold\" size=\"larger\">Encrypted Document</span>"); |
| | 117 | gtk_label_set_selectable (GTK_LABEL (primaryLabel), TRUE); |
| | 118 | gtk_misc_set_alignment (GTK_MISC (primaryLabel), 0.0, 0.0); |
| | 119 | GtkWidget *secondaryLabel = gtk_label_new ("This document is encrypted " |
| | 120 | "and can't be accessed. " |
| | 121 | "Please enter the document's " |
| | 122 | "password:"); |
| | 123 | gtk_label_set_line_wrap (GTK_LABEL (secondaryLabel), TRUE); |
| | 124 | gtk_label_set_selectable (GTK_LABEL (secondaryLabel), TRUE); |
| | 125 | gtk_misc_set_alignment (GTK_MISC (secondaryLabel), 0.0, 0.0); |
| | 126 | GtkWidget *passwordEntry = gtk_entry_new (); |
| | 127 | gtk_entry_set_visibility (GTK_ENTRY (passwordEntry), FALSE); |
| | 128 | gtk_entry_set_activates_default (GTK_ENTRY (passwordEntry), TRUE); |
| | 129 | GtkWidget *vbox = gtk_vbox_new (FALSE, 12); |
| | 130 | gtk_box_pack_start (GTK_BOX (vbox), primaryLabel, FALSE, FALSE, 0); |
| | 131 | gtk_box_pack_start (GTK_BOX (vbox), secondaryLabel, TRUE, TRUE, 0); |
| | 132 | gtk_box_pack_start (GTK_BOX (vbox), passwordEntry, FALSE, FALSE, 6); |
| | 133 | |
| | 134 | GtkWidget *image = |
| | 135 | gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, |
| | 136 | GTK_ICON_SIZE_DIALOG); |
| | 137 | gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0); |
| | 138 | GtkWidget *hbox = gtk_hbox_new (FALSE, 12); |
| | 139 | gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); |
| | 140 | gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); |
| | 141 | gtk_widget_show_all (hbox); |
| | 142 | |
| | 143 | |
| | 144 | GtkWidget *passwordDialog = gtk_dialog_new_with_buttons ( |
| | 145 | _("Password"), GTK_WINDOW (m_MainWindow), |
| | 146 | GTK_DIALOG_DESTROY_WITH_PARENT, |
| | 147 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
| | 148 | GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, |
| | 149 | NULL); |
| | 150 | gtk_dialog_set_default_response (GTK_DIALOG (passwordDialog), |
| | 151 | GTK_RESPONSE_ACCEPT); |
| | 152 | gtk_box_pack_start (GTK_BOX (GTK_DIALOG (passwordDialog)->vbox), |
| | 153 | hbox, FALSE, FALSE, 0); |
| | 154 | |
| | 155 | gchar *password = NULL; |
| | 156 | if ( GTK_RESPONSE_ACCEPT == gtk_dialog_run (GTK_DIALOG (passwordDialog)) ) |
| | 157 | { |
| | 158 | password = g_strdup(gtk_entry_get_text (GTK_ENTRY (passwordEntry))); |
| | 159 | } |
| | 160 | gtk_widget_destroy (passwordDialog); |
| | 161 | return password; |