1
# Hungarian translation for quickly
2
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
3
# This file is distributed under the same license as the quickly package.
4
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
8
"Project-Id-Version: quickly\n"
9
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10
"POT-Creation-Date: 2010-03-27 12:11+0100\n"
11
"PO-Revision-Date: 2010-04-13 16:47+0000\n"
12
"Last-Translator: Boobek <bkanyo@gmail.com>\n"
13
"Language-Team: Hungarian <hu@li.org>\n"
15
"Content-Type: text/plain; charset=UTF-8\n"
16
"Content-Transfer-Encoding: 8bit\n"
17
"X-Launchpad-Export-Date: 2010-04-14 03:54+0000\n"
18
"X-Generator: Launchpad (build Unknown)\n"
20
#: data/templates/ubuntu-application/help/tutorial.xml:13(firstname)
24
#: data/templates/ubuntu-application/help/tutorial.xml:14(surname)
28
#: data/templates/ubuntu-application/help/tutorial.xml:17(firstname)
32
#: data/templates/ubuntu-application/help/tutorial.xml:18(surname)
36
#: data/templates/ubuntu-application/help/tutorial.xml:20(corpauthor)
40
#: data/templates/ubuntu-application/help/tutorial.xml:24(date) data/templates/ubuntu-application/help/tutorial.xml:29(invpartnumber)
44
#: data/templates/ubuntu-application/help/tutorial.xml:0(application) data/templates/ubuntu-application/help/tutorial.xml:1160(application) data/templates/ubuntu-application/help/tutorial.xml:1160(application) data/templates/ubuntu-application/help/tutorial.xml:1163(application)
48
#: data/templates/ubuntu-application/help/tutorial.xml:28(productnumber)
52
#: data/templates/ubuntu-application/help/tutorial.xml:30(title)
53
msgid "<application>Quickly</application> 0.4 User Guide"
54
msgstr "<application>Quickly</application> 0.4 Felhasználó útmutató"
56
#: data/templates/ubuntu-application/help/tutorial.xml:35(title)
57
msgid "About This Guide"
58
msgstr "A kézikönyv névjegye"
60
#: data/templates/ubuntu-application/help/tutorial.xml:36(para)
62
"<application>Quickly</application> is a set of choices about writing apps "
63
"for Ubuntu. Out of all the wonderful richness and variety of programming for "
64
"Linux, <application>Quickly</application> make some very opinionated choices "
65
"about what tools to use, and how to combine them. The criteria for these "
66
"choices was to make it easy and fun to write and release Linux applications, "
67
"even if it's your first time trying, but also in a way that delivers the "
68
"full power and flexibility of the platform. One benefit of these choices, is "
69
"that it's also easier to write tools that make it even easier and more fun. "
70
"So <application>Quickly</application> is also a set of commands."
73
#: data/templates/ubuntu-application/help/tutorial.xml:39(link) data/templates/ubuntu-application/help/tutorial.xml:45(title)
74
msgid "Getting Started"
75
msgstr "Az első lépések"
77
#: data/templates/ubuntu-application/help/tutorial.xml:46(para)
79
"This part 1 of the <application>Quickly</application> tutorial. This part is "
80
"will introduce some key <application>Quickly</application> commands, editing "
81
"a user interface in Glade, and editing code in Gedit. This part of the "
82
"tutorial will familiarize you with these three tools, and how they work "
83
"together with python and pygtk so that you can "
84
"<application>Quickly</application> build applications."
87
#: data/templates/ubuntu-application/help/tutorial.xml:48(title)
88
msgid "Creating a <application>Quickly</application> Project"
89
msgstr "<application>Quickly</application> projekt létrehozása"
91
#: data/templates/ubuntu-application/help/tutorial.xml:48(para)
93
"<placeholder-1/>Creating an empty but working program couldn't be simpler. "
94
"First, open a terminal window to type commands into. When it's open, type "
98
#: data/templates/ubuntu-application/help/tutorial.xml:49(programlisting)
100
msgid "quickly create ubuntu-application jotty"
101
msgstr "quickly create ubuntu-application jotty"
103
#: data/templates/ubuntu-application/help/tutorial.xml:53(para)
105
"This will create a jotty sub directory containing a complete directory tree "
106
"and files for an empty python application. The command finishes by running "
107
"the newly created empty application."
110
#: data/templates/ubuntu-application/help/tutorial.xml:57(title)
111
msgid "Testing the Empty Application"
114
#: data/templates/ubuntu-application/help/tutorial.xml:57(para)
116
"<placeholder-1/> They are populated and set up, and you can resize the "
117
"window. Notice that <application>Quickly</application> inferred that the "
118
"application title is \"Jotty\". Only a few of menu items do anything in the "
119
"empty application, Help->About, Edit->Preferences, and File->Quit."
122
#: data/templates/ubuntu-application/help/tutorial.xml:61(title)
123
msgid "Running the Application"
124
msgstr "Az alkalmazás futtatása"
126
#: data/templates/ubuntu-application/help/tutorial.xml:61(para)
128
"<placeholder-1/> Close the application by closing the window or using the "
129
"Quit command. Since the empty application isn't installed into Ubuntu yet, "
130
"you can't start the application from the application menu yet. To start the "
131
"applicaton, use the terminal to first cd into the new subdirectory, and then "
132
"use \"quickly run\" to start the program."
135
#: data/templates/ubuntu-application/help/tutorial.xml:63(programlisting)
146
#: data/templates/ubuntu-application/help/tutorial.xml:70(title)
147
msgid "Editing an Application"
150
#: data/templates/ubuntu-application/help/tutorial.xml:71(title)
151
msgid "Edit the User Interface in Glade"
154
#: data/templates/ubuntu-application/help/tutorial.xml:71(para)
156
"<placeholder-1/><application>Quickly</application> programs use Glade to "
157
"edit the user interface. Start Glade with \"quickly design\" in order to set "
158
"up Glade for editing the empty applicaton. Don't start glade directly, or it "
159
"won't load the necessary catalogue files for editing the classes that were "
160
"automaticaly generated by <application>Quickly</application>."
163
#: data/templates/ubuntu-application/help/tutorial.xml:73(programlisting) data/templates/ubuntu-application/help/tutorial.xml:128(programlisting)
165
msgid "quickly design"
166
msgstr "quickly design"
168
#: data/templates/ubuntu-application/help/tutorial.xml:77(para)
169
msgid "Glade will open with the project loaded up and ready to edit."
172
#: data/templates/ubuntu-application/help/tutorial.xml:81(para)
173
msgid "Use the Project Menu to choose \"JottytWindow.ui\" for editing."
176
#: data/templates/ubuntu-application/help/tutorial.xml:85(para)
178
"We want to create a text area for typing into. There are some default "
179
"Widgets added to the Window. We won't need these so we'll start with "
180
"deleting them. Click on the label, and press delete, and it will disappear "
184
#: data/templates/ubuntu-application/help/tutorial.xml:92(para)
185
msgid "Do the same with the image widget. This leave us two free slots."
187
"Tedd ugyanezt a kép widgettel. Így maradt két szabad hely az ablakon."
189
#: data/templates/ubuntu-application/help/tutorial.xml:96(para)
191
"We'll use the bottom slot to add a TextView widget for the user to type "
192
"into. In the toolbox, click on the TextView widget. Then click in the empty "
196
#: data/templates/ubuntu-application/help/tutorial.xml:100(para)
198
"Make sure you save the file in Glade, or your changes won't take! Then run "
199
"the application from terminal again. The window now has a place where the "
203
#: data/templates/ubuntu-application/help/tutorial.xml:104(para)
205
"Now we'll add the entry field for the title, and also a label for it. We'll "
206
"use the top empty slot for that. First, click on Horizontal Box (HBox) from "
207
"the \"Containers\" section of the pallette, and then click on the top slot. "
208
"A dialog box will open, tell it that you want two items."
211
#: data/templates/ubuntu-application/help/tutorial.xml:108(para)
213
"The HBox is a container that arranges it's children horizontally. Add a "
214
"label to the empty left hand box, and a Text Entry to the right hand one."
217
#: data/templates/ubuntu-application/help/tutorial.xml:112(para)
219
"Before going on, let's clean up the UI just a tad here. Select the new HBox "
220
"from the treeview in the inspector window. Then go to the Packing tab, and "
221
"set Expand and Fill to \"No\"."
224
#: data/templates/ubuntu-application/help/tutorial.xml:116(para)
225
msgid "Go to the General tab, and set spacing to 5."
228
#: data/templates/ubuntu-application/help/tutorial.xml:120(para)
230
"Select the label. On the general tab, set \"Label\" to \"Name:\". Set expand "
231
"and fill to \"no\" for the label, but keep it \"yes\" for the entry. Set the "
232
"padding for both to 5 (also on the Packing tab)."
235
#: data/templates/ubuntu-application/help/tutorial.xml:124(title)
236
msgid "Add the Save, Open, and New Features"
239
#: data/templates/ubuntu-application/help/tutorial.xml:124(para)
241
"<placeholder-1/> After the user types something, they may want to save it. A "
242
"File->Save menu item was automatically created when the empty applicaton "
243
"was created, but it's not hooked up to any code. To make Save work, we need "
244
"tell the menu item what function to call, and then create a function to "
245
"actually do the saving."
248
#: data/templates/ubuntu-application/help/tutorial.xml:126(title)
249
msgid "Set the Signal Handler in Glade"
252
#: data/templates/ubuntu-application/help/tutorial.xml:126(para)
254
"<placeholder-1/> To tell the menu item what function to call. If glade is "
255
"not still open, open up the application in glade:"
258
#: data/templates/ubuntu-application/help/tutorial.xml:129(para)
260
"Click on the file menu, and the menu opens as if the application were "
264
#: data/templates/ubuntu-application/help/tutorial.xml:133(para)
265
msgid "Choose the Save menu item, and it will be selected in Glade."
268
#: data/templates/ubuntu-application/help/tutorial.xml:137(para)
269
msgid "Then choose the \"Signals\" tab of the properties window."
272
#: data/templates/ubuntu-application/help/tutorial.xml:141(para)
274
"In pygtk, menu items are \"activated\" when a user chooses the item from the "
275
"menu. Since we want a function to run when the user chooses Save, we want to "
276
"specify a function to respond to the activate signal from the menu item. "
277
"We'll call the function \"save_file\". Simply type the function name into "
278
"the box for the activate signal.Make sure to save the glade file."
281
#: data/templates/ubuntu-application/help/tutorial.xml:145(para)
283
"Note that you will need to setup the \"open_file\" signal and the "
284
"\"new_file\" signal as well when you get to those functions later."
287
#: data/templates/ubuntu-application/help/tutorial.xml:146(title)
288
msgid "Edit the Code in Gedit"
291
#: data/templates/ubuntu-application/help/tutorial.xml:147(title)
292
msgid "Set Up Tabs Correctly"
295
#: data/templates/ubuntu-application/help/tutorial.xml:147(para)
297
"<placeholder-1/> Note a major gotcha here. In python spaces and tabs are "
298
"totally different, but they look just the same in an editor. So being "
299
"indented one tab stop is not the same as being indented four spaces, even "
300
"though they might look the same. And indentation level is very important in "
301
"python. You will get a lot of errors if you mix tab indentation with space "
302
"indentation. Your generated project follows the python standard of using "
303
"four spaces for each indentation level. So you'll either have to hit the "
304
"space bar four time every time you indent, or set up your editor to use the "
305
"right number of spaces for tabs."
308
#: data/templates/ubuntu-application/help/tutorial.xml:149(para)
310
"The upshot is that you should take a moment to set up your Gedit (or "
311
"whatever editor you are using) to use spaces for tabs. In Gedit, select "
312
"Preferences from the Edit menu, and choose the Editor tab. Then set Tab "
313
"width to 4, and turn on \"Insert spaces instead of tabs\". Your preferences "
314
"should look like this:"
317
#: data/templates/ubuntu-application/help/tutorial.xml:153(title)
318
msgid "Create the Save File Signal Handler"
321
#: data/templates/ubuntu-application/help/tutorial.xml:153(para)
323
"<placeholder-1/> Now you're ready to write some code. Of course just telling "
324
"the glade file what signal to emit won't make the file actually save, "
325
"because we haven't created the \"save_file\" function yet. The code for "
326
"JottyWindow is stored in the file jotty. jotty is a special python file that "
327
"is the entry point for your application. Other python files in your "
328
"application have the \".py\" suffix."
331
#: data/templates/ubuntu-application/help/tutorial.xml:155(para)
333
"Use the <application>Quickly</application> edit command to start editing "
337
#: data/templates/ubuntu-application/help/tutorial.xml:156(programlisting)
342
#: data/templates/ubuntu-application/help/tutorial.xml:157(para)
344
"This will open the default Ubuntu text editor \"Gedit\" with any python "
345
"files in the python directory."
348
#: data/templates/ubuntu-application/help/tutorial.xml:161(para)
350
"JottyWindow.ui is now expecting to find a function JottyWindow.save_file(), "
351
"so we simply add one to the JottyWindow class in the jotty file right under "
352
"the on_destroy funtion.:"
355
#: data/templates/ubuntu-application/help/tutorial.xml:163(programlisting)
359
" def save_file(self, widget, data=None):\n"
364
#: data/templates/ubuntu-application/help/tutorial.xml:169(para)
366
"This will print the word \"save\" to the terminal when run. The method "
367
"signature is the standard signature expected in a signal handler. If you are "
368
"new to python, be sure to copy the indentations exactly, as the indentation "
369
"level is very important in python."
372
#: data/templates/ubuntu-application/help/tutorial.xml:170(para)
373
msgid "Save the file, and run it again:"
376
#: data/templates/ubuntu-application/help/tutorial.xml:171(programlisting)
383
#: data/templates/ubuntu-application/help/tutorial.xml:174(para)
385
"Choose \"File->Save\" from the menu, and you'll see the word \"save\" "
386
"printing out interminal. That's all there is to hookig up the functions!"
389
#: data/templates/ubuntu-application/help/tutorial.xml:178(title)
390
msgid "Implementing Save"
393
#: data/templates/ubuntu-application/help/tutorial.xml:178(para)
395
"<placeholder-1/> Now we'll write a little code in the signal handler to "
396
"actually save the text. Because we want it to be easy for users to do things "
397
"like syncronize their Jotty documents between computers, back it up, etc... "
398
"we'll use couchdb as our backend, and we'll use desktopcouch for our api. "
399
"We'll also use a widget from the Quickly Widgets library to make it really "
400
"easy to use desktopcouch. Desktop couch and the desktopcouch records API "
401
"should be installed for you already, but you may need to install Quickly "
402
"Widgets. The fastest way to do this is from the terminal:"
405
#: data/templates/ubuntu-application/help/tutorial.xml:181(programlisting)
409
"sudo apt-get install quickly-widgets\n"
412
#: data/templates/ubuntu-application/help/tutorial.xml:184(para)
414
"This will install the api, and everything you need for the api to run. After "
415
"desktopcouch is installed, you can write the code. The code will do the "
419
#: data/templates/ubuntu-application/help/tutorial.xml:187(para)
420
msgid "Import the stuff you'll need from Quickly Widgets and desktopcouch."
423
#: data/templates/ubuntu-application/help/tutorial.xml:190(para)
424
msgid "Get a reference to the couchdb database to save into."
427
#: data/templates/ubuntu-application/help/tutorial.xml:193(para)
428
msgid "Get the title of the document and the text from the user interface."
431
#: data/templates/ubuntu-application/help/tutorial.xml:196(para)
433
"Check if there is already a document with the same title, and if so "
437
#: data/templates/ubuntu-application/help/tutorial.xml:199(para)
438
msgid "If there is not a document already, create one."
441
#: data/templates/ubuntu-application/help/tutorial.xml:202(title)
442
msgid "Import the stuff you'll need from python-desktopcouch-records."
445
#: data/templates/ubuntu-application/help/tutorial.xml:202(para)
447
"<placeholder-1/> Add these import statements along with the other imports to "
448
"the top of the jotty file:"
451
#: data/templates/ubuntu-application/help/tutorial.xml:205(programlisting)
455
"from desktopcouch.records.server import CouchDatabase\n"
456
"from desktopcouch.records.record import Record\n"
459
#: data/templates/ubuntu-application/help/tutorial.xml:209(title)
460
msgid "Get a Reference to the Database"
463
#: data/templates/ubuntu-application/help/tutorial.xml:209(para)
465
"<placeholder-1/> Desktopcouch will set up a database for us, or create a new "
466
"one if it's needed. We'll use \"jotty\" for the name of the database. Since "
467
"we want this line to run every time the Jotty Window is created, put it at "
468
"the end of the finish_initializing function:"
471
#: data/templates/ubuntu-application/help/tutorial.xml:211(programlisting)
475
" self.database = CouchDatabase(\"jotty\", create=True)\n"
478
#: data/templates/ubuntu-application/help/tutorial.xml:214(para)
480
"Now that we have an instance-wide reference to the database, we'll add code "
481
"to the save_file function to run whenever the Save command is issued."
484
#: data/templates/ubuntu-application/help/tutorial.xml:215(para)
485
msgid "Here's the code to pull the title out of the title entry:"
488
#: data/templates/ubuntu-application/help/tutorial.xml:218(programlisting)
492
" #get the title for the note\n"
493
" title = self.builder.get_object(\"entry1\").get_text()\n"
496
#: data/templates/ubuntu-application/help/tutorial.xml:222(title)
497
msgid "Here's the code to get pull the text out of the TextView:"
500
#: data/templates/ubuntu-application/help/tutorial.xml:222(para)
502
"<placeholder-1/> In pygtk, TextView widgets have a text buffer that stores "
503
"the text. So you ask the TextView for it's TextBuffer, and then you ask the "
504
"TextBuffer for the text. You use iters to determine from which part of the "
505
"text buffer you want text. Since we want all the text, it's easy to just get "
506
"the start and end iters."
509
#: data/templates/ubuntu-application/help/tutorial.xml:225(programlisting)
514
" buff = self.builder.get_object(\"textview1\").get_buffer()\n"
515
" start_iter = buff.get_start_iter()\n"
516
" end_iter = buff.get_end_iter()\n"
517
" text = buff.get_text(start_iter,end_iter)\n"
520
#: data/templates/ubuntu-application/help/tutorial.xml:232(title)
521
msgid "Saving a document to Couchdb"
524
#: data/templates/ubuntu-application/help/tutorial.xml:232(para)
526
"<placeholder-1/> A record in couch is essentially a python dictionary with "
527
"some extra key/value pairs to make the database work. So we can save the "
528
"document to couch like this:"
531
#: data/templates/ubuntu-application/help/tutorial.xml:235(programlisting)
535
" record_type = \"http://wiki.ubuntu.com/Quickly/JottyDoc\"\n"
536
" new_rec = Record({\"record_type\": record_type,\"title\":title, "
538
" self.database.put(new_rec)\n"
541
#: data/templates/ubuntu-application/help/tutorial.xml:240(para)
543
"The \"record_type\" field is not strictly required, but among other things, "
544
"it makes it easy to fetch the documents later. By convention, we use a url "
545
"to specify the record type. This provides a place for other developers to go "
546
"to read about the record type. The description only needs to be human "
547
"readable. Couchdb is not a typed database, so don't expect that the url will "
548
"have any kind of schema definition or anything. You can use whatever url you "
549
"want, and put whatever you want at that URL."
552
#: data/templates/ubuntu-application/help/tutorial.xml:243(title)
553
msgid "Check for a pre-existing note with the same title"
556
#: data/templates/ubuntu-application/help/tutorial.xml:241(para)
558
"<placeholder-1/> Before we just write the new document though, we have to "
559
"take note of the fact that couch will allow you to create as many documents "
560
"as you want with the same title. We probably don't want this, so we we'll "
561
"have to write a little code to check if there is already a document in couch "
562
"with the same title, and if there is, update that document rather than "
566
#: data/templates/ubuntu-application/help/tutorial.xml:247(para)
568
"In CouchDB, you don't do a lot of data processing in the database like you "
569
"would with a relational database. To be most efficient, we could use the "
570
"desktopcouch API to create a view in CouchDB, but it's probably simplest "
571
"just to do the necessary processing on the client for now. To do this, we'll "
572
"use a desktopcouch function to retrieve all of the records of a specified "
576
#: data/templates/ubuntu-application/help/tutorial.xml:249(para)
577
msgid "To find and update documents with a matching title we will:"
580
#: data/templates/ubuntu-application/help/tutorial.xml:252(para) data/templates/ubuntu-application/help/tutorial.xml:321(para)
582
"Retrieve all of the documents with the CouchDatabase.get_records function."
585
#: data/templates/ubuntu-application/help/tutorial.xml:255(para) data/templates/ubuntu-application/help/tutorial.xml:324(para)
586
msgid "Check each of the returned records for a matching title."
589
#: data/templates/ubuntu-application/help/tutorial.xml:258(para)
591
"If there is a match, update the record using the CouchDatabase.update_fields "
592
"function and return."
595
#: data/templates/ubuntu-application/help/tutorial.xml:261(para)
597
"This all may sound very weird, but in code, it's not quite so complicated:"
600
#: data/templates/ubuntu-application/help/tutorial.xml:263(programlisting)
604
" #get all the records\n"
605
" record_type = \"http://wiki.ubuntu.com/Quickly/JottyDoc\"\n"
606
" results = self.database.get_records(record_type = "
607
"record_type,create_view = True)\n"
608
" #update a record that has the same title\n"
609
" for result in results:\n"
610
" document = result.value\n"
611
" if document[\"title\"] == title:\n"
612
" key = document[\"_id\"]\n"
613
" self.database.update_fields(key, {\"text\":text})\n"
618
#: data/templates/ubuntu-application/help/tutorial.xml:276(para)
619
msgid "So the whole function should look like this:"
622
#: data/templates/ubuntu-application/help/tutorial.xml:278(programlisting)
626
" def save_file(self, widget, data=None): \n"
627
" #get the title for the note \n"
628
" title = self.builder.get_object(\"entry1\").get_text() \n"
630
" #get the text to save \n"
631
" buff = self.builder.get_object(\"textview1\").get_buffer() \n"
632
" start_iter = buff.get_start_iter() \n"
633
" end_iter = buff.get_end_iter() \n"
634
" text = buff.get_text(start_iter,end_iter) \n"
636
" #get all the records \n"
637
" record_type = \"http://wiki.ubuntu.com/Quickly/JottyDoc\" \n"
638
" results = self.database.get_records(record_type = "
639
"record_type,create_view = True) \n"
641
" #update a record that has the same title \n"
642
" for result in results: \n"
643
" document = result.value \n"
644
" if document[\"title\"] == title: \n"
645
" key = result.key \n"
646
" self.database.update_fields(key, {\"text\":text}) \n"
649
" #if no records had the title, create it \n"
650
" new_rec = Record({\"record_type\":record_type,\"title\":title, "
652
" self.database.put_record(new_rec)\n"
655
#: data/templates/ubuntu-application/help/tutorial.xml:306(para)
657
"Couchdb makes it really easy to see if your save function is working. You "
658
"can just point your web browser at it and explore the database:"
661
#: data/templates/ubuntu-application/help/tutorial.xml:307(para)
662
msgid "file:///home/your_user_name/.local/share/desktop-couch/couchdb.html"
665
#: data/templates/ubuntu-application/help/tutorial.xml:311(para)
667
"If you are redirected to a page that doesn't work, you probably just need to "
668
"clear your browser cache and try again."
671
#: data/templates/ubuntu-application/help/tutorial.xml:312(title)
672
msgid "Implementing Open and New"
675
#: data/templates/ubuntu-application/help/tutorial.xml:312(para)
677
"<placeholder-1/> To open a saved document, the user will type the title of "
678
"the document that they want to open in the text entry, and choose \"Open\" "
679
"from the main menu. If there is no matching document there, it will just "
680
"clear out the text view, ready for input. This is probably not too "
681
"intuitive, so we'll add a dialog box for prompting the user for the title, "
682
"but that's for later in the tutorial. For now, we'll just use the same text "
686
#: data/templates/ubuntu-application/help/tutorial.xml:314(title)
687
msgid "Implementing Open is essentially the reverse of Save:"
690
#: data/templates/ubuntu-application/help/tutorial.xml:314(para)
691
msgid "<placeholder-1/> Follow these steps:"
694
#: data/templates/ubuntu-application/help/tutorial.xml:318(para)
695
msgid "Add the open_file signal to the menu item in Glade."
698
#: data/templates/ubuntu-application/help/tutorial.xml:327(para)
700
"If there is a match, pull out the text and display it in the text view."
703
#: data/templates/ubuntu-application/help/tutorial.xml:330(para)
704
msgid "So the open_file function looks like so:"
707
#: data/templates/ubuntu-application/help/tutorial.xml:332(programlisting)
711
" def open_file(self, widget, data=None):\n"
712
" #get the name of the document to open\n"
713
" title = self.builder.get_object(\"entry1\").get_text()\n"
716
" #get all the records\n"
717
" record_type = \"http://wiki.ubuntu.com/Quickly/JottyDoc\"\n"
718
" results = self.database.get_records(record_type = "
719
"record_type,create_view = True)\n"
721
" #get the text if there is a matching title\n"
722
" for result in results:\n"
723
" document = result.value\n"
724
" if document[\"title\"] == title:\n"
725
" text = document[\"text\"]\n"
727
" #set the UI to display the string\n"
728
" buff = self.builder.get_object(\"textview1\").get_buffer()\n"
729
" buff.set_text(text)\n"
732
#: data/templates/ubuntu-application/help/tutorial.xml:352(title)
733
msgid "Implement New"
736
#: data/templates/ubuntu-application/help/tutorial.xml:352(para)
738
"<placeholder-1/> First, add the new_file signal to the menu item in Glade, "
739
"then add this code to clear out the text:"
742
#: data/templates/ubuntu-application/help/tutorial.xml:355(programlisting)
746
" def new_file(self, widget, data=None):\n"
747
" self.builder.get_object(\"entry1\").set_text(\"Note Title\")\n"
748
" buff = self.builder.get_object(\"textview1\").get_buffer()\n"
749
" buff.set_text(\"\")\n"
752
#: data/templates/ubuntu-application/help/tutorial.xml:361(para)
754
"To make them work, add these functions to the JottyWindow class, and save. "
755
"Then go back and connect the functions to the activate signals for the Open "
756
"and New menu items."
759
#: data/templates/ubuntu-application/help/tutorial.xml:362(ulink)
760
msgid "Complete jotty file"
763
#: data/templates/ubuntu-application/help/tutorial.xml:363(title)
764
msgid "Saving Your Work"
767
#: data/templates/ubuntu-application/help/tutorial.xml:363(para)
769
"<placeholder-1/> When <application>Quickly</application> created your "
770
"application, it automatically added it to Bazaar, a source code versioning "
771
"system. You can use Bazaar to roll back mistake, see code history, compare "
772
"versions, etc... <application>Quickly</application> has a convenience "
773
"function for backing up your work:"
776
#: data/templates/ubuntu-application/help/tutorial.xml:365(programlisting)
780
"<application>Quickly</application> save \"First working version of Jotty\"\n"
783
#: data/templates/ubuntu-application/help/tutorial.xml:368(programlisting)
788
#: data/templates/ubuntu-application/help/tutorial.xml:368(programlisting)
790
msgid "bzr commit -m [your message]"
793
#: data/templates/ubuntu-application/help/tutorial.xml:368(para)
794
msgid "This will call <placeholder-1/> and then <placeholder-2/> for you."
797
#: data/templates/ubuntu-application/help/tutorial.xml:371(title)
798
msgid "Using Dialogs"
801
#: data/templates/ubuntu-application/help/tutorial.xml:372(para)
803
"In part 1, we created an application that can read and write text files, and "
804
"persist them in the couchdb backend. However, the application has a hideous "
805
"usability flaw, in the text box for specifying titles when saving and "
806
"opening files is very confusing. In part 2, we'll fix that by adding a save "
807
"and an open dialog."
810
#: data/templates/ubuntu-application/help/tutorial.xml:374(title)
811
msgid "Creating an Empty Dialog"
814
#: data/templates/ubuntu-application/help/tutorial.xml:374(para)
816
"<placeholder-1/> It's simple to add an empty, but working dialog to your "
817
"project. Simply specify the name of the new dialog, and it will be added "
818
"automatically. Assuming that you are in the jotty project directory:"
821
#: data/templates/ubuntu-application/help/tutorial.xml:376(programlisting)
825
"quickly add dialog save\n"
828
#: data/templates/ubuntu-application/help/tutorial.xml:379(para)
829
msgid "This will add the dialog to your project."
832
#: data/templates/ubuntu-application/help/tutorial.xml:380(title) data/templates/ubuntu-application/help/tutorial.xml:502(title)
833
msgid "Editing the New Dialog"
836
#: data/templates/ubuntu-application/help/tutorial.xml:380(para)
838
"<placeholder-1/> To edit the UI for the dialog, you'll need to load it into "
839
"Glade again. If you already have an instance of glade running, you might "
840
"want to go ahead and close it first, as it may get confusing if you have "
841
"more than one open at a time. After closing glade, simply open it again:"
844
#: data/templates/ubuntu-application/help/tutorial.xml:382(programlisting) data/templates/ubuntu-application/help/tutorial.xml:504(programlisting)
851
#: data/templates/ubuntu-application/help/tutorial.xml:385(para)
853
"Then use the project menu to switch to newly created SaveDialog.ui file."
856
#: data/templates/ubuntu-application/help/tutorial.xml:389(para)
858
"Then add some widgets for the UI. Start with a Vertical Box (VBox) with two "
859
"items. Put a label in the top, and an HBox in the bottom slot. In the HBox, "
860
"add a label and an edit widget, just like you did for JottyWindow in part 1. "
861
"Set the padding and expand properties as well."
864
#: data/templates/ubuntu-application/help/tutorial.xml:393(title)
865
msgid "Code the Dialog"
868
#: data/templates/ubuntu-application/help/tutorial.xml:393(para)
870
"<placeholder-1/> You can use the \"<application>Quickly</application> edit\" "
871
"command to open the SaveDialog.py file. This dialog needs very little "
872
"additional code to work. Essentially, you just need a way to retrieve the "
873
"string specified by the user. We'll add a qiuck accessor method for this:"
876
#: data/templates/ubuntu-application/help/tutorial.xml:396(programlisting)
881
" def title_text(self):\n"
882
" return self.builder.get_object(\"entry1\").get_text()\n"
885
#: data/templates/ubuntu-application/help/tutorial.xml:401(para)
887
"We don't need to write any code for the Ok and Cancel buttons, as they were "
888
"automatically hooked up by <application>Quickly</application> when it "
889
"created the dialog."
892
#: data/templates/ubuntu-application/help/tutorial.xml:402(para)
894
"Before we go on to invoking the dialog, delete HBox from JottyWindow that "
895
"holds the text entry and label, as we won't be needing those."
898
#: data/templates/ubuntu-application/help/tutorial.xml:406(title)
899
msgid "Calling the Save Dialog"
902
#: data/templates/ubuntu-application/help/tutorial.xml:406(para)
904
"<placeholder-1/> To use the dialog in JottyWindow, we need to follow these "
908
#: data/templates/ubuntu-application/help/tutorial.xml:410(para)
909
msgid "Import SaveDialog in JottyWindow"
912
#: data/templates/ubuntu-application/help/tutorial.xml:413(para)
913
msgid "In the save_file function, create an instance of SaveDialog"
916
#: data/templates/ubuntu-application/help/tutorial.xml:416(para) data/templates/ubuntu-application/help/tutorial.xml:590(para)
917
msgid "Run the Dialog"
920
#: data/templates/ubuntu-application/help/tutorial.xml:419(para)
921
msgid "Get the String"
924
#: data/templates/ubuntu-application/help/tutorial.xml:422(para) data/templates/ubuntu-application/help/tutorial.xml:596(para)
925
msgid "Destroy the dialog"
928
#: data/templates/ubuntu-application/help/tutorial.xml:426(title)
929
msgid "Importing the SaveDialog"
932
#: data/templates/ubuntu-application/help/tutorial.xml:426(para)
934
"<placeholder-1/> Add the SaveDialog to the list of the imported modules at "
935
"the top of the bin file of your project, so it looks like this:"
938
#: data/templates/ubuntu-application/help/tutorial.xml:428(programlisting)
942
"from jotty import (\n"
943
" AboutJottyDialog, PreferencesJottyDialog, SaveDialog)\n"
946
#: data/templates/ubuntu-application/help/tutorial.xml:433(title) data/templates/ubuntu-application/help/tutorial.xml:616(title)
947
msgid "Create an instance of the dialog and run it"
950
#: data/templates/ubuntu-application/help/tutorial.xml:433(para)
952
"<placeholder-1/> When the user chooses Save, we want to open the SaveDialog "
953
"and collect the title of the note from the user. So we need to modify our "
954
"save_file function."
957
#: data/templates/ubuntu-application/help/tutorial.xml:436(para)
958
msgid "First, create an instance of the SaveDialog like this:"
961
#: data/templates/ubuntu-application/help/tutorial.xml:437(programlisting)
965
" saver = SaveDialog.SaveDialog()\n"
968
#: data/templates/ubuntu-application/help/tutorial.xml:440(para)
970
"To make the dialog appear, simply use the run() method. However, we want to "
971
"check the result, so we'll need to store that in a variable. After it runs, "
972
"we want to collect the string from the user, like this:"
975
#: data/templates/ubuntu-application/help/tutorial.xml:441(programlisting)
979
" result = saver.run()\n"
980
" title = saver.title_text\n"
983
#: data/templates/ubuntu-application/help/tutorial.xml:445(title)
984
msgid "Clean up the dialog"
987
#: data/templates/ubuntu-application/help/tutorial.xml:445(para)
989
"<placeholder-1/> We need to tell the dialog to not show itself anymore. We "
990
"could call saver.hide() to make it hide, but since we don't need it hanging "
991
"around, we'll just destroy it. Before we go on, though, we need to ensure "
992
"that the user actually wants to save, so if we didn't get the Ok result, we "
993
"should just return out of the function:"
996
#: data/templates/ubuntu-application/help/tutorial.xml:448(programlisting)
1000
" saver.destroy()\n"
1001
" if result != gtk.RESPONSE_OK:\n"
1005
#: data/templates/ubuntu-application/help/tutorial.xml:454(para)
1007
"Since we're now getting the title from the dialog instead of the text entry, "
1008
"we should delete the line of the code that sents it from entry1. So except "
1009
"for the addition of the dialog code, the save_file function looks pretty "
1010
"much the same as it did in part 1:"
1013
#: data/templates/ubuntu-application/help/tutorial.xml:457(programlisting)
1017
" def save_file(self, widget, data=None):\n"
1018
" #get the titel from the user\n"
1019
" saver = SaveDialog.SaveDialog()\n"
1020
" result = saver.run()\n"
1021
" title = saver.title_text\n"
1023
" saver.destroy()\n"
1024
" if result != gtk.RESPONSE_OK:\n"
1027
" #get the text to save\n"
1028
" buff = self.builder.get_object(\"textview1\").get_buffer()\n"
1029
" start_iter = buff.get_start_iter()\n"
1030
" end_iter = buff.get_end_iter()\n"
1031
" text = buff.get_text(start_iter,end_iter)\n"
1033
" #get all the records\n"
1034
" record_type = \"http://wiki.ubuntu.com/Quickly/JottyDoc\"\n"
1035
" results = self.database.get_records(record_type = "
1036
"record_type,create_view = True)\n"
1038
" #update a record that has the same title\n"
1039
" for result in results:\n"
1040
" record = result.value\n"
1041
" if record[\"title\"] == title:\n"
1042
" key = result.key\n"
1043
" self.database.update_fields(key, {\"text\":text})\n"
1046
" #if no records had the title, create it \n"
1047
" new_rec = Record({\"record_type\":record_type,\"title\":title, "
1049
" self.database.put_record(new_rec)\n"
1052
#: data/templates/ubuntu-application/help/tutorial.xml:490(para)
1053
msgid "Now when we choose save, we get the SaveDialog instead:"
1056
#: data/templates/ubuntu-application/help/tutorial.xml:495(title)
1057
msgid "Creating a Dialog with a CouchGrid"
1060
#: data/templates/ubuntu-application/help/tutorial.xml:495(para)
1062
"<placeholder-1/> We'll use a similar approach in the Open dialog that we did "
1063
"with Save. However, there is one big difference, we want to provide the user "
1064
"with a list of documents that you could choose to open. We'll use a widget "
1065
"called CouchGrid, which is included in the quickly-widgets package for this."
1068
#: data/templates/ubuntu-application/help/tutorial.xml:498(title)
1069
msgid "Create the Open Dialog"
1072
#: data/templates/ubuntu-application/help/tutorial.xml:499(programlisting)
1076
"quickly add dialog open\n"
1079
#: data/templates/ubuntu-application/help/tutorial.xml:502(para)
1081
"<placeholder-1/> Start out by closing, and then reopening glade again:"
1084
#: data/templates/ubuntu-application/help/tutorial.xml:507(para)
1086
"Start by adding a VBox and a label in the same manner as in the Save Dialog "
1087
"above. Leave an empty space in the VBox. We will use code to put the "
1091
#: data/templates/ubuntu-application/help/tutorial.xml:511(title)
1092
msgid "Coding the Open Dialog"
1095
#: data/templates/ubuntu-application/help/tutorial.xml:512(title)
1096
msgid "Creating and Adding a CouchGrid"
1099
#: data/templates/ubuntu-application/help/tutorial.xml:512(para)
1101
"<placeholder-1/> It just takes a little bit of code to add a CouchGrid to "
1102
"the dialog. We need to:"
1105
#: data/templates/ubuntu-application/help/tutorial.xml:516(para)
1106
msgid "Import the CouchGrid class."
1109
#: data/templates/ubuntu-application/help/tutorial.xml:519(para)
1111
"Create a CouchGrid pointing at the jotty database, and the desired record "
1115
#: data/templates/ubuntu-application/help/tutorial.xml:522(para)
1116
msgid "Add the CouchGrid to the dialog."
1119
#: data/templates/ubuntu-application/help/tutorial.xml:526(title)
1120
msgid "Import the CouchGrid class"
1123
#: data/templates/ubuntu-application/help/tutorial.xml:526(para)
1125
"<placeholder-1/> CouchGrid is part of the quickly.widgets api, so we import "
1129
#: data/templates/ubuntu-application/help/tutorial.xml:528(programlisting)
1133
"from quickly.widgets.couch_grid import CouchGrid\n"
1136
#: data/templates/ubuntu-application/help/tutorial.xml:531(title)
1137
msgid "Create the CouchGrid"
1140
#: data/templates/ubuntu-application/help/tutorial.xml:531(para)
1142
"<placeholder-1/> A CouchGrid needs to know three things, the name of the "
1143
"database, the name of the record type, and the name of the keys to use. "
1144
"\"keys\" is a list of fields that the widget will display, and by default "
1145
"will also use the same text for the heading of any columns. This set up "
1146
"should be done in the OpenDialog's finish_initalizing function. All this is "
1147
"easily done in code like this:"
1150
#: data/templates/ubuntu-application/help/tutorial.xml:535(programlisting)
1154
" database = \"jotty\"\n"
1155
" keys = [\"title\"]\n"
1156
" record_type = \"http://wiki.ubuntu.com/Quickly/JottyDoc\"\n"
1157
" self.couchgrid = CouchGrid(database, "
1158
"record_type=record_type,keys=keys)\n"
1162
#: data/templates/ubuntu-application/help/tutorial.xml:542(title)
1163
msgid "Add the CouchGrid to the Dialog"
1166
#: data/templates/ubuntu-application/help/tutorial.xml:542(para)
1168
"<placeholder-1/> we added the VBox to the dialog, we left an open space at "
1169
"the bottom. We'll use this by \"packing\" the CouchGrid into the VBox. We "
1170
"need to show it as well. So add the following lines to the "
1171
"finish_initializing function as well:"
1174
#: data/templates/ubuntu-application/help/tutorial.xml:546(programlisting)
1178
" self.couchgrid.show()\n"
1179
" self.builder.get_object(\"vbox1\").pack_end(self.couchgrid)\n"
1183
#: data/templates/ubuntu-application/help/tutorial.xml:552(title)
1184
msgid "Create the get_selection function"
1187
#: data/templates/ubuntu-application/help/tutorial.xml:552(para)
1189
"<placeholder-1/> The dialog still needs a bit more code to work. It needs to "
1190
"return the user's selection, if there is one. To do this, we need to ask the "
1191
"CouchGrid what is selected. This is easy using the widgets "
1192
"selected_record_ids function. But the CouchGrid supports multiple selection, "
1193
"so we'll do the following:"
1196
#: data/templates/ubuntu-application/help/tutorial.xml:556(para)
1197
msgid "Use a decorator to define the function as a property accessor."
1200
#: data/templates/ubuntu-application/help/tutorial.xml:559(para)
1201
msgid "Get all the selected record ids."
1204
#: data/templates/ubuntu-application/help/tutorial.xml:562(para)
1205
msgid "If none are selected, return None."
1208
#: data/templates/ubuntu-application/help/tutorial.xml:565(para)
1209
msgid "Pick the first one and return it."
1212
#: data/templates/ubuntu-application/help/tutorial.xml:568(para)
1213
msgid "So the function to add to OpenDialog looks like this:"
1216
#: data/templates/ubuntu-application/help/tutorial.xml:570(programlisting)
1221
" def selected_record_id(self):\n"
1222
" ids = self.couchgrid.selected_record_ids\n"
1223
" if len(ids) < 1:\n"
1230
#: data/templates/ubuntu-application/help/tutorial.xml:580(title)
1231
msgid "Using the Open Dialog"
1234
#: data/templates/ubuntu-application/help/tutorial.xml:580(para)
1236
"<placeholder-1/> Now we want to use the Open Dialog in the JottyWindow "
1237
"open_file function. To use it,we'll follow these steps:"
1240
#: data/templates/ubuntu-application/help/tutorial.xml:584(para)
1241
msgid "Import OpenDialog in JottyWindow"
1244
#: data/templates/ubuntu-application/help/tutorial.xml:587(para)
1245
msgid "In the open_file function, create an instance of OpenDialog"
1248
#: data/templates/ubuntu-application/help/tutorial.xml:593(para)
1249
msgid "Get the id for the selected title."
1252
#: data/templates/ubuntu-application/help/tutorial.xml:599(para)
1253
msgid "Check the response before proceeding"
1256
#: data/templates/ubuntu-application/help/tutorial.xml:602(para) data/templates/ubuntu-application/help/tutorial.xml:634(title)
1257
msgid "Use the id to get the record from CouchDB"
1260
#: data/templates/ubuntu-application/help/tutorial.xml:605(para) data/templates/ubuntu-application/help/tutorial.xml:644(title)
1261
msgid "Update the UI"
1264
#: data/templates/ubuntu-application/help/tutorial.xml:609(title)
1265
msgid "Import OpenDialog"
1268
#: data/templates/ubuntu-application/help/tutorial.xml:609(para)
1270
"<placeholder-1/> Just like the SaveDialog, add the import line to the list "
1274
#: data/templates/ubuntu-application/help/tutorial.xml:611(programlisting)
1278
"from jotty import (\n"
1279
" AboutJottyDialog, PreferencesJottyDialog, SaveDialog, OpenDialog)\n"
1282
#: data/templates/ubuntu-application/help/tutorial.xml:616(para)
1284
"<placeholder-1/> So now we're ready to call the dialog from the "
1285
"JottyWindow's open_file function. Creating the OpenDialog is exactly the "
1286
"same as creating the SaveDialog, except we also want to tell it to load the "
1287
"titles before we run it:"
1290
#: data/templates/ubuntu-application/help/tutorial.xml:619(programlisting)
1293
"opener = OpenDialog.NewODialog()\n"
1294
" result = opener.run()"
1297
#: data/templates/ubuntu-application/help/tutorial.xml:622(title)
1298
msgid "Get the id for the selected title"
1301
#: data/templates/ubuntu-application/help/tutorial.xml:622(para)
1303
"<placeholder-1/> Now use the property that we created to retrieve the title "
1304
"and text from the dialog. Don't forget to check the response type before "
1308
#: data/templates/ubuntu-application/help/tutorial.xml:625(programlisting)
1312
" rec_id = opener.selected_record_id\n"
1314
" #close the dialog, and check whether to proceed\n"
1315
" opener.destroy()\n"
1316
" if result != gtk.RESPONSE_OK:\n"
1320
#: data/templates/ubuntu-application/help/tutorial.xml:634(para)
1322
"<placeholder-1/> If nothing was selected, we'll just return. Otherwise, "
1323
"we'll retrieve the record from CouchDB and pull out the text for the "
1327
#: data/templates/ubuntu-application/help/tutorial.xml:637(programlisting)
1331
" #get the record from CouchDB and extract the text\n"
1332
" if rec_id == None:\n"
1334
" record = self.database.get_record(rec_id)\n"
1335
" text = record[\"text\"]"
1338
#: data/templates/ubuntu-application/help/tutorial.xml:644(para)
1339
msgid "<placeholder-1/> Now just put the text into the texview:"
1342
#: data/templates/ubuntu-application/help/tutorial.xml:647(programlisting)
1346
" #set the UI to display the string\n"
1347
" buff = self.builder.get_object(\"textview1\").get_buffer()\n"
1348
" buff.set_text(text)"
1351
#: data/templates/ubuntu-application/help/tutorial.xml:651(para)
1353
"That's all there is to it. So the whole open_file function looks like this:"
1356
#: data/templates/ubuntu-application/help/tutorial.xml:653(programlisting)
1360
" def open_file(self, widget, data=None):\n"
1361
" #run the open dialog\n"
1362
" opener = OpenDialog.OpenDialog()\n"
1363
" result = opener.run()\n"
1365
" #get the record id from the dialog\n"
1366
" rec_id = opener.selected_record_id\n"
1368
" #close the dialog, and check whether to proceed\n"
1369
" opener.destroy()\n"
1370
" if result != gtk.RESPONSE_OK:\n"
1373
" #get the record from CouchDB and extract the text\n"
1374
" if rec_id == None:\n"
1376
" record = self.database.get_record(rec_id)\n"
1377
" text = record[\"text\"]\n"
1379
" #set the UI to display the string\n"
1380
" buff = self.builder.get_object(\"textview1\").get_buffer()\n"
1381
" buff.set_text(text)\n"
1385
#: data/templates/ubuntu-application/help/tutorial.xml:678(para)
1386
msgid "Now users get a nice open dialog:"
1389
#: data/templates/ubuntu-application/help/tutorial.xml:683(para)
1391
"However, the application is not complete. There are a few things left for "
1395
#: data/templates/ubuntu-application/help/tutorial.xml:686(para)
1397
"Set the title of the JottyWindow to display the note title. Try "
1398
"self.set_text(title)."
1401
#: data/templates/ubuntu-application/help/tutorial.xml:689(para)
1403
"The Save command works more like \"Save As\". The application probably "
1404
"shouldn't pop up a SaveDialog every time you want to save. If it's already "
1405
"been saved, you probably just want to save it, but use a SaveDialog when the "
1406
"user choose Save As, or is saving a document for the first time."
1409
#: data/templates/ubuntu-application/help/tutorial.xml:692(para)
1411
"The OpenDialog should probably return when the user double clicks on an item "
1412
"in the list. Try connecting to the \"select-cursor-row\" signal on the "
1413
"TreeView, and calling self.response(gtk.RESPONSE_OK) in the handler."
1416
#: data/templates/ubuntu-application/help/tutorial.xml:695(para)
1418
"Perhaps the Ok button in the OpenDialog should be disabled if nothing is "
1419
"selected. Try setting the \"sensitivity\" in Glade, and the set_sensitive "
1420
"function for the Ok button."
1423
#: data/templates/ubuntu-application/help/tutorial.xml:698(para)
1425
"It would be more consistent for the Open and Close dialogs to have \"Open\" "
1426
"and \"Close\" for buttons instead of \"Ok\". You can set a different type in "
1427
"the properties window in Glade."
1430
#: data/templates/ubuntu-application/help/tutorial.xml:701(para)
1432
"Loading every document into the open dialog is probably a bit inefficient. "
1433
"Perhaps storing the document id and using that to retrieve the document "
1434
"would be a better implementation."
1437
#: data/templates/ubuntu-application/help/tutorial.xml:707(title)
1441
#: data/templates/ubuntu-application/help/tutorial.xml:708(para)
1443
"In parts 1 and 2, we showed how to create a simple Ubuntu application using "
1444
"<application>Quickly</application>. This section will cover how to package "
1445
"an application so that it is easy for you to share, and easy for other "
1446
"people to install."
1449
#: data/templates/ubuntu-application/help/tutorial.xml:709(title)
1450
msgid "License your Application"
1453
#: data/templates/ubuntu-application/help/tutorial.xml:709(para)
1455
"<placeholder-1/> It's important to license your code so users and other "
1456
"programmers know their rights in terms of redistributing or modifying it. To "
1457
"<application>Quickly</application> grant a GPL license to your code, simply:"
1460
#: data/templates/ubuntu-application/help/tutorial.xml:713(para)
1461
msgid "Specify your name and email address in the Copyright file."
1464
#: data/templates/ubuntu-application/help/tutorial.xml:716(para)
1465
msgid "Run the \"license\" command."
1468
#: data/templates/ubuntu-application/help/tutorial.xml:720(title)
1469
msgid "Specify your name and email"
1472
#: data/templates/ubuntu-application/help/tutorial.xml:720(para)
1474
"<placeholder-1/> When <application>Quickly</application> created your ubuntu "
1475
"application, it added a file named Copyright in the top level of the "
1476
"directory. Open this file in your text editor, and modify the top line so it "
1477
"has your name and email included. Be sure not to modify other lines as it "
1478
"will interfere with the next step. For example, I would change the entire "
1479
"file to look like this:"
1482
#: data/templates/ubuntu-application/help/tutorial.xml:723(programlisting)
1485
"# Copyright (C) 2009 Rick Spencer rick.spencer@canonical.com\n"
1486
"### BEGIN AUTOMATIC LICENSE GENERATION\n"
1487
"### END AUTOMATIC LICENSE GENERATION\n"
1490
#: data/templates/ubuntu-application/help/tutorial.xml:727(title)
1491
msgid "Run the \"License\" Command"
1494
#: data/templates/ubuntu-application/help/tutorial.xml:727(para)
1496
"<placeholder-1/> By default, <application>Quickly</application> will use a "
1497
"GPL 3 license for your project. To use this license, use this command:"
1500
#: data/templates/ubuntu-application/help/tutorial.xml:729(programlisting) data/templates/ubuntu-application/help/tutorial.xml:751(programlisting)
1504
"<application>Quickly</application> license\n"
1507
#: data/templates/ubuntu-application/help/tutorial.xml:732(para)
1509
"This will add the GPL 3 license to all of your code files that you've added "
1510
"to your project using <application>Quickly</application>."
1513
#: data/templates/ubuntu-application/help/tutorial.xml:733(para)
1514
msgid "Keep in mind a couple of things:"
1517
#: data/templates/ubuntu-application/help/tutorial.xml:736(para)
1519
"This is a one way trip. Once you license the project, changes to the license "
1520
"must be done manually."
1523
#: data/templates/ubuntu-application/help/tutorial.xml:739(para)
1525
"If you prefer a GPL 2 license, you can specify that when you issue the "
1529
#: data/templates/ubuntu-application/help/tutorial.xml:740(programlisting)
1533
"<application>Quickly</application> license GPL-2\n"
1536
#: data/templates/ubuntu-application/help/tutorial.xml:745(para)
1538
"<application>Quickly</application> doesn't care what license you use, but "
1539
"only knows natively what files and headers to include for BSD, GPL-2, GPL-3, "
1540
"LGPL-2 and LGPL-3. If you prefer another license, you can simply add "
1541
"whatever you license you like by adding your own license in the Copyright "
1545
#: data/templates/ubuntu-application/help/tutorial.xml:747(programlisting)
1548
"### BEGIN AUTOMATIC LICENSE GENERATION\n"
1549
"# My personal license here\n"
1550
"### END AUTOMATIC LICENSE GENERATION"
1553
#: data/templates/ubuntu-application/help/tutorial.xml:750(para)
1554
msgid "and then run:"
1557
#: data/templates/ubuntu-application/help/tutorial.xml:754(para)
1558
msgid "to license every files."
1561
#: data/templates/ubuntu-application/help/tutorial.xml:757(para)
1563
"If you've added code files or other files to your project manually, you will "
1564
"need to add the license to those files manually or add those tags at the "
1565
"beginning of the file:"
1568
#: data/templates/ubuntu-application/help/tutorial.xml:759(programlisting)
1571
"### BEGIN LICENSE\n"
1575
#: data/templates/ubuntu-application/help/tutorial.xml:764(title)
1576
msgid "Translate Your Application"
1579
#: data/templates/ubuntu-application/help/tutorial.xml:764(para)
1581
"<placeholder-1/> To allow for users from other countries to use your "
1582
"application you may want to translate it. Glade automatically creates a pot "
1583
"file for you but to translate strings in your code you have to:"
1586
#: data/templates/ubuntu-application/help/tutorial.xml:766(programlisting)
1588
msgid "import gettext"
1591
#: data/templates/ubuntu-application/help/tutorial.xml:767(programlisting)
1593
msgid "gettext.gettext(\"What you want translated\")"
1596
#: data/templates/ubuntu-application/help/tutorial.xml:769(title)
1597
msgid "Specify Application Settings"
1600
#: data/templates/ubuntu-application/help/tutorial.xml:769(para)
1602
"<placeholder-1/> You should personalize your application a little before "
1603
"creating the archive. This is very easy to do, as all of the files that you "
1604
"need have already been created, and only need a few lines changed to make "
1605
"them your own. To do this you should:"
1608
#: data/templates/ubuntu-application/help/tutorial.xml:773(para)
1609
msgid "Personalize the Application Icon"
1612
#: data/templates/ubuntu-application/help/tutorial.xml:774(para) data/templates/ubuntu-application/help/tutorial.xml:788(title)
1613
msgid "Edit the Desktop File"
1616
#: data/templates/ubuntu-application/help/tutorial.xml:775(para)
1617
msgid "Edit the setup.py File"
1620
#: data/templates/ubuntu-application/help/tutorial.xml:778(title)
1621
msgid "Personalize your Application Icon"
1624
#: data/templates/ubuntu-application/help/tutorial.xml:778(para)
1626
"<placeholder-1/> When users install your application, Ubuntu will display an "
1627
"icon next to it in the menus. You can create your own icon or edit the file "
1628
"called \"icon.png\" in the media directory (jotty/data/media). Ubuntu comes "
1629
"with a great image editing program called \"Gimp.\" So you can go:"
1632
#: data/templates/ubuntu-application/help/tutorial.xml:780(programlisting)
1636
"gimp data/media/icon.png\n"
1639
#: data/templates/ubuntu-application/help/tutorial.xml:786(para)
1641
"If you don't personalize the icon, it's ok, your app will just have the "
1642
"default icon, such as in the image below."
1645
#: data/templates/ubuntu-application/help/tutorial.xml:788(para)
1647
"<placeholder-1/> By default, <application>Quickly</application> Ubuntu "
1648
"applications are classified as \"utilities\", so they show up under the "
1649
"Accessories menu in Ubuntu. If we wanted to make Jotty show up in another "
1650
"category, we can do this by editing the desktop file. A desktop file is a "
1651
"file that describes your application to a Linux desktop. The file "
1652
"\"jottydesktop.in\" was automatically created in the jotty project "
1653
"directory. To change Jotty from a Utility to an Office application, edit "
1654
"jotty.desktop.in and change this:"
1657
#: data/templates/ubuntu-application/help/tutorial.xml:792(programlisting)
1662
"Comment=Jotty application\n"
1663
"Categories=GNOME;Utility;\n"
1667
"Type=Application\n"
1670
#: data/templates/ubuntu-application/help/tutorial.xml:802(para)
1674
#: data/templates/ubuntu-application/help/tutorial.xml:806(programlisting)
1679
"Comment=Jotty application\n"
1680
"Categories=GNOME;Office;\n"
1687
#: data/templates/ubuntu-application/help/tutorial.xml:814(para)
1689
"There are lots more categories that you can use, all defined by the "
1690
"FreeDesktop spec. You can see the complete list in the <ulink "
1691
"url=\"http://standards.freedesktop.org/menu-spec/latest/apa.html\">menu "
1695
#: data/templates/ubuntu-application/help/tutorial.xml:818(title)
1696
msgid "Edit Setup.py"
1699
#: data/templates/ubuntu-application/help/tutorial.xml:817(para)
1701
"<placeholder-1/> Finally, you should include some information in the "
1702
"setup.py file to tell your users a little about yourself. The setup.py file "
1703
"was created for you, just like the desktop file. Most of of the setup.py "
1704
"file shouldn't be modified, as it is just boiler plate that makes your "
1705
"application work properly after it has been installed. However, there is a "
1706
"section at the bottom of the setup.py file that you should edit to describe "
1707
"yourself and the application."
1710
#: data/templates/ubuntu-application/help/tutorial.xml:821(para)
1711
msgid "So I would change this section:"
1714
#: data/templates/ubuntu-application/help/tutorial.xml:825(programlisting)
1717
"DistUtilsExtra.auto.setup(\n"
1720
" license='GPL v3',\n"
1721
" #author='Your Name',\n"
1722
" #author_email='email@ubuntu.com',\n"
1723
" #description='UI for managing …',\n"
1724
" #long_description='Here a longer description',\n"
1725
" #url='https://launchpad.net/jotty',\n"
1726
" cmdclass={'install': InstallAndUpdateDataDirectory}\n"
1730
#: data/templates/ubuntu-application/help/tutorial.xml:837(para)
1731
msgid "To look like this:"
1734
#: data/templates/ubuntu-application/help/tutorial.xml:841(programlisting)
1737
"DistUtilsExtra.auto.setup(\n"
1740
" license='GPL v3',\n"
1741
" author='Rick Spencer',\n"
1742
" author_email='rick.spencer@canonical.com',\n"
1743
" description='Note taking application',\n"
1744
" long_description='Note taking application that uses CouchDB as the "
1745
"backend to support easy replication across users and computers.',\n"
1746
" #url='https://launchpad.net/jotty',\n"
1747
" cmdclass={'install': InstallAndUpdateDataDirectory}\n"
1751
#: data/templates/ubuntu-application/help/tutorial.xml:852(para)
1753
"Note that the license has already been set up for you. author and "
1754
"author_email are updated each time you connect to Launchpad (with "
1755
"<application>Quickly</application> release or "
1756
"<application>Quickly</application> share) with your Launchpad real name and "
1757
"preferred email adress."
1760
#: data/templates/ubuntu-application/help/tutorial.xml:853(para)
1762
"Notice that Jotty doesn't have a web page yet, so I just left that line "
1763
"commented out. Also, you don't have to increment version number as "
1764
"<application>Quickly</application> share and "
1765
"<application>Quickly</application> release commands will make it for you.."
1768
#: data/templates/ubuntu-application/help/tutorial.xml:857(title)
1769
msgid "Create and Test the Debian Archive"
1772
#: data/templates/ubuntu-application/help/tutorial.xml:857(para)
1774
"<placeholder-1/> After personalizing the project, we are now ready to create "
1775
"the package. This is easily done by issuing the package command:"
1778
#: data/templates/ubuntu-application/help/tutorial.xml:860(programlisting) data/templates/ubuntu-application/help/tutorial.xml:1062(programlisting)
1782
"<application>Quickly</application> package\n"
1785
#: data/templates/ubuntu-application/help/tutorial.xml:863(para)
1787
"This command will take a little while to discover dependencies and create "
1788
"all the required archives, etc... It will also report some errors as we "
1789
"haven't created a PGP key, for instance. None the less, when it is done, the "
1790
"package will be created. Using the file browser, you can see the created "
1791
"package next to the project directory:"
1794
#: data/templates/ubuntu-application/help/tutorial.xml:867(para)
1796
"Right now, the specific file we are interested in is \"jotty_0.1_all.deb\". "
1797
"To test it out, double click on it, to open it in Ubuntu's graphical "
1798
"installer program:"
1801
#: data/templates/ubuntu-application/help/tutorial.xml:871(para)
1803
"Click \"Install Package\" to see how it installs onto your desktop. After "
1804
"chugging for a bit, you'll see that it is installed in the Applications-"
1805
">Office menu. If you customized your icon, you'll see that the menu uses "
1806
"your custom icon as well."
1809
#: data/templates/ubuntu-application/help/tutorial.xml:875(title)
1810
msgid "Now that you have a package"
1813
#: data/templates/ubuntu-application/help/tutorial.xml:875(para)
1815
"<placeholder-1/> Now that you've packaged your application, you can share "
1816
"the .deb file. However, if your users install their application this way, "
1817
"and you update the application, your users will have to find this out and "
1818
"resinstall. This hassle can be avoided in Ubuntu by using Personal Package "
1819
"Archives (or PPAs). Distrubuting your applications in this manner is covered "
1820
"in section 4 (not yet available)."
1823
#: data/templates/ubuntu-application/help/tutorial.xml:879(title)
1825
"<application>Quickly</application>: <application>Quickly</application> "
1829
#: data/templates/ubuntu-application/help/tutorial.xml:880(para)
1831
"The ubuntu-application template template contains the following commands."
1834
#: data/templates/ubuntu-application/help/tutorial.xml:883(xref) data/templates/ubuntu-application/help/tutorial.xml:916(title) data/templates/ubuntu-application/help/tutorial.xml:917(title)
1838
#: data/templates/ubuntu-application/help/tutorial.xml:886(xref) data/templates/ubuntu-application/help/tutorial.xml:943(title)
1842
#: data/templates/ubuntu-application/help/tutorial.xml:889(xref) data/templates/ubuntu-application/help/tutorial.xml:988(title) data/templates/ubuntu-application/help/tutorial.xml:989(title)
1846
#: data/templates/ubuntu-application/help/tutorial.xml:892(xref)
1850
#: data/templates/ubuntu-application/help/tutorial.xml:895(xref) data/templates/ubuntu-application/help/tutorial.xml:1012(title) data/templates/ubuntu-application/help/tutorial.xml:1013(title)
1854
#: data/templates/ubuntu-application/help/tutorial.xml:898(xref) data/templates/ubuntu-application/help/tutorial.xml:1021(title) data/templates/ubuntu-application/help/tutorial.xml:1022(title)
1858
#: data/templates/ubuntu-application/help/tutorial.xml:901(xref) data/templates/ubuntu-application/help/tutorial.xml:1060(title) data/templates/ubuntu-application/help/tutorial.xml:1061(title)
1862
#: data/templates/ubuntu-application/help/tutorial.xml:904(xref) data/templates/ubuntu-application/help/tutorial.xml:1077(title) data/templates/ubuntu-application/help/tutorial.xml:1078(title)
1866
#: data/templates/ubuntu-application/help/tutorial.xml:907(xref) data/templates/ubuntu-application/help/tutorial.xml:1112(title) data/templates/ubuntu-application/help/tutorial.xml:1113(title)
1870
#: data/templates/ubuntu-application/help/tutorial.xml:910(xref) data/templates/ubuntu-application/help/tutorial.xml:1122(title) data/templates/ubuntu-application/help/tutorial.xml:1123(title)
1874
#: data/templates/ubuntu-application/help/tutorial.xml:913(xref) data/templates/ubuntu-application/help/tutorial.xml:1137(title) data/templates/ubuntu-application/help/tutorial.xml:1139(title)
1878
#: data/templates/ubuntu-application/help/tutorial.xml:917(para) data/templates/ubuntu-application/help/tutorial.xml:944(para) data/templates/ubuntu-application/help/tutorial.xml:989(para) data/templates/ubuntu-application/help/tutorial.xml:1000(para) data/templates/ubuntu-application/help/tutorial.xml:1013(para) data/templates/ubuntu-application/help/tutorial.xml:1022(para) data/templates/ubuntu-application/help/tutorial.xml:1061(para) data/templates/ubuntu-application/help/tutorial.xml:1078(para) data/templates/ubuntu-application/help/tutorial.xml:1113(para) data/templates/ubuntu-application/help/tutorial.xml:1123(para) data/templates/ubuntu-application/help/tutorial.xml:1138(para)
1879
msgid "<placeholder-1/> Usage:"
1882
#: data/templates/ubuntu-application/help/tutorial.xml:919(programlisting)
1886
"<application>Quickly</application> create ubuntu-application "
1887
"path/to/project_name"
1890
#: data/templates/ubuntu-application/help/tutorial.xml:921(para)
1892
"where \"project_name\" is one or more words separated by an underscore and "
1893
"path/to can be any existing path."
1896
#: data/templates/ubuntu-application/help/tutorial.xml:924(para)
1898
"This will create and run a new project, including Python code, Glade files, "
1899
"and packaging files to make the project work. After creating the project, "
1903
#: data/templates/ubuntu-application/help/tutorial.xml:930(para)
1904
msgid "Changing your working directory to the new project:"
1907
#: data/templates/ubuntu-application/help/tutorial.xml:932(programlisting)
1909
msgid "cd path/to/project_name"
1912
#: data/templates/ubuntu-application/help/tutorial.xml:934(para)
1913
msgid "Edit the UI with Glade:"
1916
#: data/templates/ubuntu-application/help/tutorial.xml:935(programlisting)
1918
msgid "<application>Quickly</application> design"
1921
#: data/templates/ubuntu-application/help/tutorial.xml:937(para)
1922
msgid "Edit the Python code:"
1925
#: data/templates/ubuntu-application/help/tutorial.xml:938(programlisting) data/templates/ubuntu-application/help/tutorial.xml:967(programlisting)
1927
msgid "<application>Quickly</application> edit"
1930
#: data/templates/ubuntu-application/help/tutorial.xml:944(title)
1934
#: data/templates/ubuntu-application/help/tutorial.xml:946(programlisting)
1936
msgid "<application>Quickly</application> dialog dialog_name"
1939
#: data/templates/ubuntu-application/help/tutorial.xml:947(para)
1940
msgid "where dialog_name is one or more words seperated with underscore"
1943
#: data/templates/ubuntu-application/help/tutorial.xml:948(para)
1944
msgid "This will create:"
1947
#: data/templates/ubuntu-application/help/tutorial.xml:952(para)
1949
"A subclass of gtk.Dialog called DialogNameDialog in the module "
1950
"DialogNameDialog.py"
1953
#: data/templates/ubuntu-application/help/tutorial.xml:955(para)
1954
msgid "A glade file called DialogNameDialog.ui in the ui directory"
1957
#: data/templates/ubuntu-application/help/tutorial.xml:958(para)
1958
msgid "A catalog file called dialog_name_dialog.xml also in the ui directory"
1961
#: data/templates/ubuntu-application/help/tutorial.xml:961(para)
1962
msgid "To edit the UI for the dialog, run:"
1965
#: data/templates/ubuntu-application/help/tutorial.xml:963(programlisting)
1967
msgid "<application>Quickly</application> design\n"
1970
#: data/templates/ubuntu-application/help/tutorial.xml:965(para)
1971
msgid "To edit the behavior, run:"
1974
#: data/templates/ubuntu-application/help/tutorial.xml:968(para)
1975
msgid "To use the dialog you have to invoke it from another python file:"
1978
#: data/templates/ubuntu-application/help/tutorial.xml:972(programlisting)
1982
"Import the dialog\n"
1983
"import DialogNameDialog\n"
1986
#: data/templates/ubuntu-application/help/tutorial.xml:976(programlisting)
1990
"Create an instance of the dialog\n"
1991
"dialog = DialogNameDialog.NewDialogNameDialog()\n"
1994
#: data/templates/ubuntu-application/help/tutorial.xml:980(programlisting)
1998
"Run the dialog and hide the dialog\n"
1999
"result = dialog.run()\n"
2003
#: data/templates/ubuntu-application/help/tutorial.xml:991(programlisting)
2007
"<application>Quickly</application> edit\n"
2010
#: data/templates/ubuntu-application/help/tutorial.xml:993(para)
2012
"A convenience command to open all of your python files in your project "
2013
"directory in your default editor, ready for editing."
2016
#: data/templates/ubuntu-application/help/tutorial.xml:999(title) data/templates/ubuntu-application/help/tutorial.xml:1000(title)
2020
#: data/templates/ubuntu-application/help/tutorial.xml:1001(programlisting)
2024
"<application>Quickly</application> design\n"
2027
#: data/templates/ubuntu-application/help/tutorial.xml:1003(para)
2029
"Opens Glade UI editor so that you can edit the UI for dialogs and windows in "
2030
"your project. Note that you *must* open Glade in this manner for "
2031
"<application>Quickly</application> to work. If you try to open Glade "
2032
"directly, and the open the UI files, Glade will throw errors and won't open "
2036
#: data/templates/ubuntu-application/help/tutorial.xml:1014(programlisting)
2040
"<application>Quickly</application> help\n"
2043
#: data/templates/ubuntu-application/help/tutorial.xml:1016(para)
2044
msgid "Opens a web browser with the help index."
2047
#: data/templates/ubuntu-application/help/tutorial.xml:1023(programlisting)
2051
"<application>Quickly</application> license <Your_Licence=\n"
2054
#: data/templates/ubuntu-application/help/tutorial.xml:1025(para)
2055
msgid "Adds license to project files. Before using this command, you should:"
2058
#: data/templates/ubuntu-application/help/tutorial.xml:1029(para)
2060
"run <application>Quickly</application> save in case something goes wrong"
2063
#: data/templates/ubuntu-application/help/tutorial.xml:1032(para)
2064
msgid "Edit the file Copyright to include your authorship."
2067
#: data/templates/ubuntu-application/help/tutorial.xml:1034(para)
2069
"If you want to put your own <application>Quickly</application> unsupported "
2070
"Licence, remove and replace the tags ### BEGIN AUTOMATIC LICENCE GENERATION "
2071
"and ### END AUTOMATIC LICENCE GENERATION in it by your own licence."
2074
#: data/templates/ubuntu-application/help/tutorial.xml:1039(programlisting)
2076
msgid "<application>Quickly</application> license"
2079
#: data/templates/ubuntu-application/help/tutorial.xml:1039(programlisting)
2081
msgid "<application>Quickly</application> licence <License="
2084
#: data/templates/ubuntu-application/help/tutorial.xml:1038(para)
2086
"Executes either <placeholder-1/> or <placeholder-2/> where <License= can "
2087
"be either: - GPL-3 (default) - GPL-2"
2090
#: data/templates/ubuntu-application/help/tutorial.xml:1045(para)
2092
"This will modify the Copyright file with the chosen licence (with GPL-3 by "
2093
"default). Updating previous chosen Licence if needed. If you previously "
2094
"removed the tags to add your own licence, it will leave it pristine. If no "
2095
"name is attributed to the Copyright, it will try to retrieve it from "
2096
"Launchpad (in <application>Quickly</application> release or "
2097
"<application>Quickly</application> share command only)"
2100
#: data/templates/ubuntu-application/help/tutorial.xml:1051(para)
2101
msgid "Finally, this will copy the Copyright at the head of every files."
2104
#: data/templates/ubuntu-application/help/tutorial.xml:1053(para)
2106
"Note that if you don't run <application>Quickly</application> licence before "
2107
"calling <application>Quickly</application> release or "
2108
"<application>Quickly</application> share, this one will execute it for you "
2109
"and guess the copyright holder from your launchpad account if you didn't "
2113
#: data/templates/ubuntu-application/help/tutorial.xml:1064(para)
2115
"Creates a debian file (deb) from your project. Before running the package "
2116
"command you can edit the Icon and Category entry of *.desktop.in file, where "
2117
"* is the name of your project."
2120
#: data/templates/ubuntu-application/help/tutorial.xml:1068(para)
2122
"Note that if you didn't run <application>Quickly</application> release, "
2123
"<application>Quickly</application> share or "
2124
"<application>Quickly</application> change-lp-project you may miss the name, "
2125
"email in setup.py. You can edit them if you don't want to use any of these "
2126
"commands afterwards. Those changes are not a mandatory at all for testing "
2130
#: data/templates/ubuntu-application/help/tutorial.xml:1079(programlisting)
2134
"<application>Quickly</application> release\n"
2137
#: data/templates/ubuntu-application/help/tutorial.xml:1081(para)
2139
"Posts a release of your project to a PPA on launchpad so that users can "
2140
"install the application on their system."
2143
#: data/templates/ubuntu-application/help/tutorial.xml:1086(programlisting) data/templates/ubuntu-application/help/tutorial.xml:1089(programlisting)
2145
msgid "<application>Quickly</application> release <release_number="
2148
#: data/templates/ubuntu-application/help/tutorial.xml:1084(para)
2150
"You can also execute: <placeholder-1/> of you don't want to use current "
2151
"release_number. The release_number must be a number."
2154
#: data/templates/ubuntu-application/help/tutorial.xml:1088(para)
2156
"<placeholder-1/> notes about changes where \"notes about changes\" is "
2157
"optional text describing what changes were made since the last save"
2160
#: data/templates/ubuntu-application/help/tutorial.xml:1092(para)
2162
"Before running <application>Quickly</application> release, you should: "
2163
"create your account and a project page on http://launchpad.net. You also "
2164
"have to add a PPA to your launchpad account."
2167
#: data/templates/ubuntu-application/help/tutorial.xml:1096(para)
2169
"Name, email and version setup.py will be automatically changed. (version "
2170
"will be <current_release= and bzr will commit and tagged. Once the "
2171
"release is done, <current_release= will be incremented by 0.1 to be ready "
2175
#: data/templates/ubuntu-application/help/tutorial.xml:1101(para)
2177
"If you previously used <application>Quickly</application> shared "
2178
"<current_release=~publicX will be dropped to release <current_release= "
2179
"version (<current_release=~publicX <current_release=) You can modify "
2180
"the description and long description if you wish."
2183
#: data/templates/ubuntu-application/help/tutorial.xml:1107(programlisting)
2185
msgid "<application>Quickly</application> package"
2188
#: data/templates/ubuntu-application/help/tutorial.xml:1106(para)
2190
"You can run <placeholder-1/> and test your package to make sure it installs "
2191
"as expected. (This is not mandatory)"
2194
#: data/templates/ubuntu-application/help/tutorial.xml:1114(programlisting)
2198
"<application>Quickly</application> run\n"
2201
#: data/templates/ubuntu-application/help/tutorial.xml:1116(para)
2203
"Runs your application. This is the best way to try test it out while you are "
2204
"developing it. It starts up the main project window."
2207
#: data/templates/ubuntu-application/help/tutorial.xml:1124(programlisting)
2211
"<application>Quickly</application> save notes about changes\n"
2214
#: data/templates/ubuntu-application/help/tutorial.xml:1126(para)
2216
"where \"notes about changes\" is optional text describing what changes were "
2217
"made since the last save."
2220
#: data/templates/ubuntu-application/help/tutorial.xml:1133(programlisting)
2225
#: data/templates/ubuntu-application/help/tutorial.xml:1129(para)
2227
"This command commits all changes since the last save to bzr. Note that it "
2228
"does not push changes to any back up location. If you need revert or "
2229
"otherwise use the revision control, use bzr directly: <placeholder-1/>"
2232
#: data/templates/ubuntu-application/help/tutorial.xml:1140(programlisting)
2236
"<application>Quickly</application> share"
2239
#: data/templates/ubuntu-application/help/tutorial.xml:1142(para)
2240
msgid "Updates your PPA with the the latest saved project changes."
2243
#: data/templates/ubuntu-application/help/tutorial.xml:1144(para)
2245
"Before running <application>Quickly</application> release, you should: "
2246
"create your account on http://launchpad.net. You also have to add a PPA to "
2247
"your launchpad account."
2250
#: data/templates/ubuntu-application/help/tutorial.xml:1148(para)
2252
"Name, email and version setup.py will be automatically changed. (version "
2253
"will be <current_release~publicX= where X will be incremented at each "
2254
"<application>Quickly</application> share execution) You can modify the "
2255
"description and long description if you wish."
2258
#: data/templates/ubuntu-application/help/tutorial.xml:1158(title)
2262
#: data/templates/ubuntu-application/help/tutorial.xml:1160(link)
2263
msgid "<placeholder-1/>: <placeholder-2/> Command Reference"
2266
#: data/templates/ubuntu-application/help/tutorial.xml:1163(ulink)
2267
msgid "Blog post on <placeholder-1/>"
2270
#: data/templates/ubuntu-application/help/tutorial.xml:1166(ulink)
2271
msgid "Language: Python Language Reference"
2274
#: data/templates/ubuntu-application/help/tutorial.xml:1169(ulink)
2275
msgid "Core Library: Python 2.6 Library Reference"
2278
#: data/templates/ubuntu-application/help/tutorial.xml:1172(ulink)
2279
msgid "UI Library: PyGtk"
2282
#: data/templates/ubuntu-application/help/tutorial.xml:1175(ulink)
2283
msgid "Database: CouchDB Reference"
2286
#: data/templates/ubuntu-application/help/tutorial.xml:1178(ulink)
2287
msgid "UI Editing: Glade User Documenation"
2290
#: data/templates/ubuntu-application/help/tutorial.xml:1181(ulink)
2291
msgid "Editor: Gedit Help"
2294
#: data/templates/ubuntu-application/help/tutorial.xml:1184(ulink)
2295
msgid "Version Control: Bazaar"
2298
#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
2299
#: data/templates/ubuntu-application/help/tutorial.xml:0(None)
2300
msgid "translator-credits"
2302
"Launchpad Contributions:\n"
2303
" Boobek https://launchpad.net/~bkanyo"