GtkDialog - tips

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Message
Author
User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

#31 Post by vovchik »

Dear nikin,

The program is yours - I added a lot of comments, I think. The reason I export ORIGIFILE in the original init vars is so that the dialog will know about it. PDFFILE is also exported, but that happens in the function fix_filename(), once we have determined whether or not we have anything passed on the command line. In the latest version, it is the last line in that function.

I think it this script could be linked to the copnversion program nicely. I am having a problem getting graphics to print in html2pdf conversion, but it may be that my ghostscript settings are bad. I will check.

As for seaside's proposal, I will check my little gtkialog "manual" - a short but useful synopsis of most commands written in French (with examples). I think it is posted in earlier pages of this topic. Otherwise look up my posts. It will be there somehwere. If you don't find it, I can post it again.

With kind regards,
vovchik

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

#32 Post by vovchik »

Dear nikin,

This is the link to the gtkdialog manual:

http://www.murga-linux.com/puppy/viewt ... p?t=40420

I found the examples very instructive - since they show syntax. The author also explains a few things nicely.

With kind regards,
vovchik

seaside
Posts: 934
Joined: Thu 12 Apr 2007, 00:19

#33 Post by seaside »

nikin-

I was away from Puppy and could only give you some general hints before.

Here's a quick concept code I put together.

Code: Select all

#! /usr/sbin/gtkdialog -e
## gtkdialog3 has to be linked to gtkdialog in usr/sbin
ORIGINALFILE=root/somewhere/somefilename.doc

function change_pdf() {

PDFFILE="`basename $ORIGINALFILE | cut -d. -f1`.pdf" 
echo $PDFFILE
}

export MAIN_DIALOG='
<vbox>
<entry>
<input>echo $ORIGINALFILE</input>
<variable>ORIGINALFILE</variable>
<action>change_pdf</action>
</entry>
<entry>
<input>change_pdf</input>
<variable>PDFFILE</variable>
</entry>
  <button>
    <label>Exit</label>
  </button>
</vbox>
'

After the original file name is selected in the first box, the function change_pdf will convert the original file name to "original file basename".pdf and it will appear in the second box and all the variables are retained.

There are probably other ways to do this and Gtkdialog is sometimes very mysterious. :D

User avatar
sunburnt
Posts: 5090
Joined: Wed 08 Jun 2005, 23:11
Location: Arizona, U.S.A.

#34 Post by sunburnt »

Very good zigbert! This is Wiki material for sure...
I made some script libraries years ago to make gtkDialog easier.
The author of gtkDialog said: "It`s a very bad program I wrote years ago."
I agree, it`s not a very good setup, but then I hate XML stye script anyway...
Basic style command lines are far easier to understand and use by anyone.

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

#35 Post by vovchik »

Dear nikin,

I added a help screen to PPDF. I think we could modify the text to make it more informative, but it's a start.

With kind regards,
vovchik
Attachments
pdfprint.tar.gz
(1.82 KiB) Downloaded 1835 times

nikin
Posts: 18
Joined: Tue 15 Sep 2009, 01:15

#36 Post by nikin »

Dear seaside:
I was away from Puppy and could only give you some general hints before.

Here's a quick concept code I put together.
Almost working
I haked it together so dat it works. Some UTF compatibility problems stil emerge.. but i willfix them .

Modified

Code: Select all

#! /usr/sbin/gtkdialog -e
## gtkdialog3 has to be linked to gtkdialog in usr/sbin

function change_pdf() {

PDFFILE="`basename $ORIGINALFILE | cut -d. -f1`.pdf"
export PDFFILE
echo $PDFFILE
}

export MAIN_DIALOG='
<vbox>
<entry>
<input>echo $ORIGINALFILE</input>
<variable>ORIGINALFILE</variable>
<action>change_pdf</action>
<action>refresh:PDFFILE</action>
</entry>
<entry>
<input>change_pdf</input>
<variable>PDFFILE</variable>
</entry>
  <button>
    <label>Exit</label>
  </button>
</vbox>
'


Thank you for the hint. :D

nikin
Posts: 18
Joined: Tue 15 Sep 2009, 01:15

#37 Post by nikin »

Dear nikin,

I added a help screen to PPDF. I think we could modify the text to make it more informative, but it's a start.

With kind regards,
vovchik
Dear vovchik,

Nice addition again... after i get home from work, i will put it together with the code i built from seaside's source.

Question:
Should i include the capability do password protect the genared pdf?

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

#38 Post by vovchik »

Dear nikin,

With seaside's mods and all of our ideas, I think we will have a nice and useful program for Puppy. Password protection is not a bad idea - my only problem is that I password protected a few pdfs a few years ago and no longer remember the password :(.

Good luck... I am eager to see the results.

With kind regards,
vovchik

nikin
Posts: 18
Joined: Tue 15 Sep 2009, 01:15

ppdf 0.1.5

#39 Post by nikin »

Hi everyone!

I had some time and done the folowing:

- merged seaside's idea.
- merged vovchik's last version
- reworked the code to work in event driven mode
- rewritten help text.
- Changed Help box button from CANCEL to CLOSE
- Changed main dialog button from CANCEL to QUIT
- The program now tries to automatically create the gtkdialog link

Get it, test it, comment on it.
And i would like to thank everyone who helped :)
I reached my original goals by now.

Now its time for ideas on how to improove.
The main thing in my mind is to make it possible to add opening and editing passwords

bytheway its called ppdf becouse it is written to replace puppypdf

i would like to make 1.8 the first release so any bugreports are highly welcommed.

And i think this program begins to get a nice gtkdialog example. only if i could comment inside the dialogdescriptions.

its 5 am ...ihaveto sleep. :cry:

Bests

nikin
    Attachments
    ppdf_0.1.5.tar.gz
    (1.96 KiB) Downloaded 1898 times

    User avatar
    vovchik
    Posts: 1507
    Joined: Tue 24 Oct 2006, 00:02
    Location: Ukraine

    #40 Post by vovchik »

    Dear nikin,

    Nice work. We do have a little problem now in that the parameter passing from the command line for ORIGIFILE does not work. Try dropping a file (e.g. doc) onto ppdf. The filename should show up in the Original input box - as it did before. Now it does not, so it cannot be used as a "handler" in ROX. I am looking into it. When you wake up and have time, please also have a look....

    With kind regards,
    vovchik

    nikin
    Posts: 18
    Joined: Tue 15 Sep 2009, 01:15

    #41 Post by nikin »

    Dear vovchik,

    You right. But thereis no easy way to solve it as i see. becouse gtkdialog does not give you the entered command line args.

    what works fine is a helper-script.

    Code: Select all

    #!/bin/bash
    
    export ORIGIFILE="$@"
    `./ppdf`
    
    Bests

    User avatar
    vovchik
    Posts: 1507
    Joined: Tue 24 Oct 2006, 00:02
    Location: Ukraine

    #42 Post by vovchik »

    Dear nikin,

    Your solution with the helper script is great and WORKS! I am now thinking of a few additional file types that could perhaps be processed by other programs - and a case statement in the ppdf_convert() function could determine which prog - abiword or something else - would do the "xxx2pdf" processing....

    With kind regards,
    vovchik

    nikin
    Posts: 18
    Joined: Tue 15 Sep 2009, 01:15

    #43 Post by nikin »

    Dear vovchik

    It is god idea.. first thing that comes in mind are ppt-s but we need openoffice for that
    i also have a little script wich was never finished and it ries to make some size optimization on images inside odp files.

    if any program comes in your mind, just tell me.
    Merging multiple files would be good to, but that is something for 0.2.0

    Bests nikin

    User avatar
    vovchik
    Posts: 1507
    Joined: Tue 24 Oct 2006, 00:02
    Location: Ukraine

    #44 Post by vovchik »

    Dear nikin,

    I am thinking about what additional conversions to pdf might be included without burdening Puppy too much. I have OO installed, so odt would be useful for me. The which command could be sued to check for soffice or swriter and, if not found, that extension would not be processed and a gxmessage error could pop up indicating the absence of OO on the user's machine (e,g, Cannot handle the extension "xxx" on this computer). For a case statement check, we could use this:

    Code: Select all

    ORIGIEXT=${ORIGIFILE##*.}
    export ORIGIEXT
    Here is a stupid icon I came up with last night.

    With kind regards,
    vovchik
    Attachments
    ppdf-but.png
    (22.85 KiB) Downloaded 3178 times

    seaside
    Posts: 934
    Joined: Thu 12 Apr 2007, 00:19

    #45 Post by seaside »

    nikin,

    I just downloaded and looked at your program (forum has been down). You have put together a very attractive, useful, and well-done program. Thank you.

    I tried it out with Choicepup and it accepted all the input very nicely and it then produced nothing and no error.... and suddenly a light bulb :idea: went off.....Choicepup does not have Abiword installed! I installed it and everything was perfect. :D

    There is one line ##### that you can remove here..

    Code: Select all

    export MAIN_DIALOG='
    <vbox>
    <entry>
    <input>echo $ORIGINALFILE</input>
    <variable>ORIGINALFILE</variable>
    ######<action>change_pdf</action>######
    <action>refresh:PDFFILE</action>
    </entry>
    <entry>
    <input>change_pdf</input>
    <variable>PDFFILE</variable>
    </entry> 
    The "refresh:PDFFILE" action makes the "change-pdf" action take place.

    The "helper script" wrapper was a great idea and I sure agree with you that it would be much better if GTKdialog could be commented (it makes my head hurt to read XML :x )

    Very nicely done!

    vovchik:

    I liked your icon - is that a hat on the top?

    nikin
    Posts: 18
    Joined: Tue 15 Sep 2009, 01:15

    PPDF 0.1.6

    #46 Post by nikin »

    hy everyone.

    ppdf 0.1.6 is here.

    - unnescesary line removed (thanks seaside)
    - there is now dependency check on the apps used. with gxdialog error message
    - helper script included

    and now i have managed to build a pet package of it with menu entry and all
    i hope everything works fine.
    please test it :P

    PS:
    dear vovchik: the icon is nice but aa bit blurry? or thats intended to be?
    Attachments
    ppdf016screenshot.png
    and a screenshot
    (6.72 KiB) Downloaded 2474 times
    ppdf-0.1.6.tar.gz
    ppdf and ppdf helper
    (2.22 KiB) Downloaded 870 times
    ppdf-0.1.6.pet
    ppdf 0.1.6 pet
    (2.91 KiB) Downloaded 874 times

    User avatar
    vovchik
    Posts: 1507
    Joined: Tue 24 Oct 2006, 00:02
    Location: Ukraine

    #47 Post by vovchik »

    Dear nikin,

    I will work on the icon - it is a bit blurry. With v.1.6 I have Abiword launching three instances after I quit. Can't be right. I will look tomorrow at the source. The dep check is a good idea. I think an ext check would also be in order (see above), because people might wish to print binary executables, for example :)

    With kind regards,
    vovchik

    User avatar
    vovchik
    Posts: 1507
    Joined: Tue 24 Oct 2006, 00:02
    Location: Ukraine

    #48 Post by vovchik »

    Dear nikin,

    Another icon attempt. This one is much less fuzzy....

    With kind regards,
    vovchik
    Attachments
    ppdf-logo-but.png
    (25.95 KiB) Downloaded 2322 times

    User avatar
    vovchik
    Posts: 1507
    Joined: Tue 24 Oct 2006, 00:02
    Location: Ukraine

    #49 Post by vovchik »

    Dear nikin,

    And here is a modified version of my first attempt at an icon, with fuzziness removed.

    With kind regards,
    vovchik
    Attachments
    ppdf-logo-but2.png
    (25.45 KiB) Downloaded 2326 times

    nikin
    Posts: 18
    Joined: Tue 15 Sep 2009, 01:15

    #50 Post by nikin »

    i like the ppdf-logo-but.png one.
    as you my have seen imade a small icon..
    Did youtake alokk in the abiword problem... i couldn't reproduce it.

    I started a new topic for the program

    http://www.murga-linux.com/puppy/viewtopic.php?t=46932

    Post Reply