This file is indexed.

/usr/share/help/el/gnome-devel-demos/spinner.c.page is in gnome-devel-docs 3.28.0-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
<?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="spinner.c" xml:lang="el">
  <info>
    <title type="text">Μετρητής (Spinner)(C)</title>
    <link type="guide" xref="c#display-widgets"/>
    <link type="seealso" xref="togglebutton.c"/>
    <revision version="0.1" date="2012-06-14" 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-2015</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, 2015</mal:years>
    </mal:credit>
  </info>

  <title>Μετρητής</title>

  <media type="image" mime="image/png" src="media/spinner.png"/>
  <p>Αυτός ο μετρητής σταματά και ξεκινά πατώντας το πλήκτρο διαστήματος.</p>

      <code mime="text/x-csrc" style="numbered">
#include &lt;gtk/gtk.h&gt;
 


 /*Καθολική μεταβλητή που χρησιμοποιείται για να δείξει την ενεργή κατάσταση του 
μετρητή. TRUE = active, FALSE = not-active. Αυτό συμβαίνει επειδή 
δεν υπάρχει μια τρέχουσα συνάρτηση για την C που το κάνει για μας */
gboolean active;  
 


/*Αυτή είναι η συνάρτηση επανάκλησης . Είναι μια συνάρτηση χειρισμού 
που αντιδρά στο σήμα. Σε αυτήν την περίπτωση, θα προκαλέσει 
την εκκίνηση και παύση του μετρητή ανάλογα με το πόσες φορές ο χρήστης 
πατά το πλήκτρο διαστήματος.*/ 
static gboolean
key_pressed_event (GtkWidget *widget,
                   GdkEvent  *event,
                   gpointer   user_data)
{
  GtkWidget *spinner = user_data;
  guint keyval;
  
  /*Εξάγει την keyval από ένα συμβάν και την αποθηκεύει στη μεταβλητή 
  "keyval" (δίνουμε στη συνάρτηση τη διεύθυνση). Σε αυτήν την περίπτωση, το 
  συμβά είναι GdkEventKey, ένα συμβάν πατήματος πλήκτρου*/
  gdk_event_get_keyval (event, &amp;keyval);  

  /*Λήψη της τιμής Μπουλ από τονμετρητή*/
  g_object_get (GTK_SPINNER (spinner), "active", &amp;active, NULL);
  
  if (keyval == GDK_KEY_space) {
     if (active) {
         gtk_spinner_stop (GTK_SPINNER (spinner));
     }
     else {
         gtk_spinner_start (GTK_SPINNER (spinner));
     } 
  }
  
return TRUE;
}
 


static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *spinner;
 
  /*Δημιουργία παραθύρου με τίτλο, πλάτος περιγράμματος και προεπιλεγμένο μέγεθος*/
  window = gtk_application_window_new (app);
 
  gtk_window_set_title (GTK_WINDOW (window), "Spinner Example");
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
  gtk_container_set_border_width (GTK_CONTAINER(window), 30);
 
  /*Δημιουργία ενός μετρητή, με πρόσθετο οριζόντιο και κάθετο χώρο*/
  spinner = gtk_spinner_new ();
  gtk_spinner_start (GTK_SPINNER (spinner));
  
  gtk_container_add (GTK_CONTAINER (window), spinner);
 
  /*Σύνδεση του σήματος key-press-event με τη συνάρτηση επανάκλησης*/
  g_signal_connect (GTK_WINDOW (window), "key-press-event", 
                    G_CALLBACK (key_pressed_event), spinner);
 
  gtk_widget_show_all (window);
}
 



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);
  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/gobject/stable/gobject-The-Base-Object-Type.html#g-object-get">GObject</link></p></item>
  <item><p><link href="http://developer.gnome.org/gtk3/stable/GtkSpinner.html">GtkSpinner</link></p></item>
</list>
</page>