This file is indexed.

/usr/share/help/el/gnome-devel-demos/aboutdialog.c.page is in gnome-devel-docs 3.14.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" xmlns:xi="http://www.w3.org/2001/XInclude" type="guide" style="task" id="aboutdialog.c" xml:lang="el">
  <info>
    <title type="text">AboutDialog (C)</title>
    <link type="guide" xref="beginner.c#windows"/>
    <link type="seealso" xref="dialog.c"/>
    <link type="seealso" xref="messagedialog.c"/>
    <revision version="0.2" date="2012-08-07" status="draft"/>

    <credit type="author copyright">
      <name>Monica Kochofar</name>
      <email its:translate="no">monicakochofar@gmail.com</email>
      <years>2012</years>
    </credit>

    <desc>Εμφάνιση πληροφοριών για μια εφαρμογή</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Ελληνική μεταφραστική ομάδα GNOME</mal:name>
      <mal:email>team@gnome.gr</mal:email>
      <mal:years>2012-2014</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Δημήτρης Σπίγγος</mal:name>
      <mal:email>dmtrs32@gmail.com</mal:email>
      <mal:years>2012, 2013</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Μαρία Θουκιδίδου</mal:name>
      <mal:email>marablack3@gmail.com</mal:email>
      <mal:years>2014</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Θάνος Τρυφωνίδης</mal:name>
      <mal:email>tomtryf@gmail.com</mal:email>
      <mal:years>2014</mal:years>
    </mal:credit>
  </info>

  <title>AboutDialog</title>

  <media type="image" mime="image/png" src="media/aboutdialog_GMenu.png"/>
  <p>Ένα παράδειγμα AboutDialog χρησιμοποιώντας Gtk.ApplicationWindow και μενού</p>
  <note><p><em style="bold">You need to be running Gtk3.4 or later for this to work</em></p></note>

      <code mime="text/x-csrc" style="numbered">
#περιλαμβάνει &lt;gtk/gtk.h&gt;



/* Η συνάρτηση επανάκλησης στην οποία αντιδρά το σήμα "response" από τον χρήστη
 * στο παράθυρο διαλόγου του μηνύματος.
 * Αυτή η συνάρτηση χρησιμοποιείται για την καταστροφή του παραθύρου διαλόγου.
 */
static void
on_close (GtkDialog *dialog,
          gint       response_id,
          gpointer   user_data)
{
  /*Αυτό θα προκαλέσει την καταστροφή του διαλόγου*/
  gtk_widget_destroy (GTK_WIDGET (dialog));

}



/* Η συνάρτηση επανάκλησης για το σήμα απάντησης "activate" που σχετίζεται με την απλή ενέργεια
 * "about_action".
 * Αυτή η συνάρτηση χρησιμοποιείται για να προκαλέσει την ανάδυση του παραθύρου διαλόγου περί.
 */
static void
about_cb (GSimpleAction *simple,
          GVariant      *parameter,
          gpointer       user_data)
{
   GtkWidget *about_dialog;

   about_dialog = gtk_about_dialog_new ();

   /* Λίστες των συγγραφέων/τεκμηριωτών που θα χρησιμοποιηθούν αργότερα, πρέπει να αρχικοποιηθούν
    * σε έναn πίνακα που τελειώνει σε μηδέν συμβολοσειρές.
    */
   const gchar *authors[] = {"GNOME Documentation Team", NULL};
   const gchar *documenters[] = {"GNOME Documentation Team", NULL};

   /* Συμπλήρωση των πληροφοριών για τον διάλογο περί */
   gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (about_dialog), "AboutDialog Example");
   gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (about_dialog), "Copyright \xc2\xa9 2012 GNOME Documentation Team");
   gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (about_dialog), authors);
   gtk_about_dialog_set_documenters (GTK_ABOUT_DIALOG (about_dialog), documenters);
   gtk_about_dialog_set_website_label (GTK_ABOUT_DIALOG (about_dialog), "GNOME Developer Website");
   gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (about_dialog), "http://developer.gnome.org");

  /* Δεν θέλουμε να εμφανίσουμε τον τίτλο, που σε αυτήν την περίπτωση θα είναι 
   * "AboutDialog Example". Πρέπει να επαναφέουμε τον τίτλο του παραθύρου 
   * του μηνύματος διαλόγου μετά τον ορισμό του ονόματος του προγράμματος.
   */
  gtk_window_set_title (GTK_WINDOW (about_dialog), "");

  /* Για το κλείσιμο του διαλόγου περί όταν πατιέται "close", συνδέουμε
   * το σήμα της απάντησης στο on_close
   */
  g_signal_connect (GTK_DIALOG (about_dialog), "response", 
                    G_CALLBACK (on_close), NULL);

  /* Εμφάνιση του διαλόγου περί */
  gtk_widget_show (about_dialog); 
}



static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;

  GSimpleAction *about_action;

  /* Δημιουργία παραθύρου με τίτλο και προεπιλεγμένο μέγεθος */
  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "AboutDialog Example");
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);

  /* Δημιουργία μιας νέας απλής ενέργειας, που της δίνει έναν τύπο παραμέτρου NULL. 
   * Θα είναι πάντα NULL για ενέργειες που καλούνται από ένα μενού. (π.χ.  
   * πατώντας σε ένα κουμπί "ok" ή "cancel")
   */
  about_action = g_simple_action_new ("about", NULL); 

  /* Σύνδεση του σήματος "activate" στην κατάλληλη συνάρτηση επανάκλησης. 
   * Θα δείξει ότι η ενέργεια μόλις ενεργοποιήθηκε.
   */
  g_signal_connect (about_action, "activate", G_CALLBACK (about_cb), 
                    GTK_WINDOW (window));

  /* Προσθέτει την about_action στην συνολική απεικόνηση ενέργειας. Μια απεικόνιση
   * ενέργειας είναι μια διεπαφή που περιέχει έναν αριθμό επώνυμων στιγμιοτύπων
   *  GAction (όπως about_action) 
   */
  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (about_action));

  gtk_widget_show_all (window);
}



/* Η συνάρτηση επανάκλησης για το σήμα απάντησης "activate" από την ενέργεια "quit" 
 * βρίσκεται στην αμέσως παρακάτω συνάρτηση.
 */ 
static void
quit_cb (GSimpleAction *simple,
         GVariant      *parameter,
         gpointer       user_data)
{
  GApplication *application = user_data;

  g_application_quit (application);
}



/* Η συνάρτηση έναρξης για το μενού που δημιουργούμε σε αυτό το παράδειγμα */
static void
startup (GApplication *app,
         gpointer      user_data)
{
  GMenu *menu;
  GSimpleAction *quit_action;

  /* Αρχικοποίηση του GMenu και προσθήκη ενός στοιχείου μενού με ετικέτα "About" 
   * και ενέργεια "win.about". Επίσης, προσθήκη ενός άλλου στοιχείου μενού 
   * με ετικέτα "Quit" και ενέργεια "app.quit" 
   */
  menu = g_menu_new ();
  g_menu_append (menu, "About", "win.about");
  g_menu_append (menu, "Quit", "app.quit");

  /* Δημιουργία μιας νέας απλής ενέργειας για την εφαρμογή. (Σε αυτήν την περίπτωση 
   * είναι η ενέργεια "quit".
   */
  quit_action = g_simple_action_new ("quit", NULL);

  /* Εξασφαλίστε ότι το μενού που μόλις έχουμε δημιουργήσει ορίζεται για τη συνολική εφαρμογή */
  gtk_application_set_app_menu (GTK_APPLICATION (app), G_MENU_MODEL (menu));

  g_signal_connect (quit_action, 
                    "activate", 
                    G_CALLBACK (quit_cb), 
                    app);

  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (quit_action));

}



/* Η συνάρτηση έναρξης για την εφαρμογή */
int
main (int argc, char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  g_signal_connect (app, "startup", G_CALLBACK (startup), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}
</code>
<p>Σε αυτό το παράδειγμα χρησιμοποιήσαμε τα παρακάτω:</p>
<list>
  <item><p><link href="http://developer.gnome.org/gtk3/3.4/GtkApplication.html">GtkApplication</link></p></item>
  <item><p><link href="http://developer.gnome.org/gtk3/3.4/GtkWindow.html">GtkWindow</link></p></item>
  <item><p><link href="http://developer.gnome.org/gtk3/stable/GtkAboutDialog.html">GtkAboutDialog</link></p></item>
  <item><p><link href="http://developer.gnome.org/gio/stable/GMenu.html">GMenu</link></p></item>
  <item><p><link href="http://developer.gnome.org/gio/stable/GActionMap.html">GActionMap</link></p></item>
</list>
</page>