<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 10/27/11 13:14, Jesse Smith wrote:
    <blockquote cite="mid:4EA9918C.2020101@yahoo.ca" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      On 11-10-27 01:30 PM, Ken Moore wrote:
      <blockquote cite="mid:4EA98718.8050701@pcbsd.org" type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        On 10/27/11 10:48, Jesse Smith wrote:
        <blockquote cite="mid:4EA96F43.4000804@yahoo.ca" type="cite">Fellow


          PBIers, <br>
          <br>
          I believe I've come up with a tool which will make it much
          easier for non-developers to create PBI modules. The tool is
          simply named (I'm not feeling creative today) EasyPBI. It's a
          Qt-based graphical application which will create new PBI
          modules with just a few mouse clicks. <br>
          <br>
          Right now it's a little rough, the last time I did any real
          coding in Qt.... well, KDE 2.2 was considered current. At any
          rate, I'm attaching my first attempt here. To compile it you
          will need the Qt development libraries installed on your
          system. <br>
          <br>
          To compile EasyPBI, save the attached tar archive and run the
          following commands <br>
          <br>
          tar zxf EasyPBI-0.1.tar.gz <br>
          cd EasyPBI <br>
          qmake <br>
          make <br>
          <br>
          Then run <br>
          ./EasyPBI <br>
          <br>
          The interface is a small window which displays the key fields
          of a PBI module. At the bottom of the screen the app displays
          instructions for the user to follow. To start off, we go to
          the File menu and select New Module. We pick which port we
          want to build. The app tries to fill in as many fields as
          possible and prompts the user to fill in the blanks for us.
          Then the user hits the Create Module button at the bottom of
          the window. EasyPBI will then try to build the module and
          bundle it as a tar archive. Its last step is to notify the
          user that the module has been created and provides the
          location of the tarball and the pbi-dev mailing list address
          so users can submit their module. <br>
          <br>
          The app can be used to build several modules, one after
          another. <br>
          <br>
          Right now I'm thinking more instructions and an option to open
          then port's FreshPort's page would be a logical next step.
          Comments, suggestions are welcome. <br>
          <br>
          - Jesse <br>
          <br>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
Pbi-dev mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Pbi-dev@lists.pcbsd.org">Pbi-dev@lists.pcbsd.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.pcbsd.org/mailman/listinfo/pbi-dev">http://lists.pcbsd.org/mailman/listinfo/pbi-dev</a>
</pre>
        </blockquote>
        <br>
        Jesse, <br>
        I just gave EasyPBI a whirl, and I must say that I am impressed!
        It is still a bit rough, as you mentioned, but overall it is a
        nice interface for a "casual" user to build a PBI module. <br>
        I have a couple suggestions here from my first use....<br>
        <br>
        GUI<br>
        -------<br>
        1) Make use of the QT spacers to allow the GUI to dynamically
        fit to the current size of the window.<br>
        2) There is an extra bar under the "File" and "About" menus that
        I can move around, but has no discernible purpose.<br>
        3) A button to open up the freshports page for the selected port
        in the default web browser might be a good idea (as you
        mentioned) <br>
        <br>
        Execution<br>
        ------------<br>
        1) Instead of creating the modules in the home directory, I
        would recommend the following folder/structure: <br>
           1-a) Create a EasyPBI-modules/ directory in the home folder
        and place the uncompressed modules there<br>
           1-b) Create a subdirectory within EasyPBI-modules/ for the
        compressed modules<br>
        2) Since you are using the /usr/ports/ directory on the system,
        you might want to have some sanity checks to make sure the ports
        tree is actually on the user's system or prompt the user to get
        it if it is not.<br>
        3) In addition to creating the modules, you could actually have
        a button to run the pbi_makeport command on the newly-created
        module to actually run the process to build the PBI. This will
        take a bit more work, but I think it would make a nice
        complement to the program.<br>
        <br>
        All in all, it seems like a great start for the program. Would
        you like some help with it? I do a lot of Qt development and
        could help you out with the GUI if you are a bit rusty on it.<br>
        <pre class="moz-signature" cols="72">-- 
~ Ken Moore ~
PCBSD/iXsystems</pre>
        <br>
      </blockquote>
      <br>
      <br>
      Ken,<br>
      <br>
      Thank you for the feedback and the recommendations. I agree with
      all of the above. I would certainly welcome help with the GUI.
      Most of my work is more "behind the scenes" so interface design is
      a weak point for me. If you could tidy it up and send me a patch,
      it would be very helpful.<br>
      <br>
      I haven't used pbi_makeport yet, but I can look into adding a
      button to build the PBI.<br>
      <br>
      Thanks,<br>
      Jesse<br>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Pbi-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Pbi-dev@lists.pcbsd.org">Pbi-dev@lists.pcbsd.org</a>
<a class="moz-txt-link-freetext" href="http://lists.pcbsd.org/mailman/listinfo/pbi-dev">http://lists.pcbsd.org/mailman/listinfo/pbi-dev</a>
</pre>
    </blockquote>
    <br>
    Ok, here is are the modified "mainwindow.*" files. The GUI is now on
    a grid layout with spacers (I.E. the user can now resize it with
    impunity), I removed the unneccesary bar, and I added a button to
    open the freshports.org page for the selected port. I wrote a quick
    check to make sure a port is selected for the port_info_button, but
    I did not actually have it open a web browser. The function to add
    that capability to is at the bottom of the mainwindow.cpp file.<br>
    Oh, I also fixed a bug on quitting that caused a "bus error" on
    exit. (see the destructor for mainwindow)<br>
    <br>
    Let me know if there is anything else I can do for you!<br>
    <pre class="moz-signature" cols="72">-- 
~ Ken Moore ~
PCBSD/iXsystems</pre>
  </body>
</html>