Commit Graph

1 Commits

Author SHA1 Message Date
Gustavo Lima Chaves 23b65bc2de Welcome a new Elementary widget: file selector button.
This is an elm button extended to launch a file selector on click and to callback_call registered funcs
when selection is completed.

Many uses may arise from it, but as a fresh 1st example here comes the first (primitive, but cool) video
player in edje:

externals {
  external: "emotion";
  external: "elm";
}

collections {
  group { name: "main";
     parts {
        part { name: "video";
           type: EXTERNAL;
           source: "emotion";
           description { state: "default" 0;
              rel1 {
                 offset: 10 10;
              }
              rel2 {
                 offset: -11 -61;
              }
              params {
                 choice: "engine" "gstreamer";
              }
           }
        }
        part { name: "play";
           type: RECT;
           description { state: "default" 0;
              color: 0 255 0 128;
              rel1 {
                 relative: 0 1;
                 offset: 10 -51;
              }
              rel2 {
                 relative: 0.3 1;
                 offset: -6 -11;
              }
           }
        }
        part { name: "pause";
           type: RECT;
           description { state: "default" 0;
              color: 255 0 0 128;
              rel1 {
                 relative: 0.3 1;
                 offset: 5 -51;
              }
              rel2 {
                 relative: 0.6 1;
                 offset: -6 -11;
              }
           }
        }

        part { name: "file_sel_btn";
           type: EXTERNAL;
           source: "elm/fileselector_button";
           description { state: "default" 0;
              rel1 {
                 relative: 0.6 1;
                 offset: 5 -51;
              }
              rel2 {
                 offset: -11 -11;
              }
              params {
                 string: "label" "open file";
                 string: "icon" "file";
              }
           }
        }

        programs {
           program {
              signal: "mouse,clicked,1";
              source: "play";
              after: "do_play";
           }
           program {
              name: "do_play";
              action: PARAM_SET "video" "play" "1";
           }
           program {
              signal: "mouse,clicked,1";
              source: "pause";
              action: PARAM_SET "video" "play" "0";
           }
           program {
              signal: "file,chosen";
              source: "file_sel_btn";
              action: PARAM_COPY "file_sel_btn" "path" "video" "file";
              after: "do_play";
           }
        }
     }
  }
}

Enjoy. I've seen bugs on the fileselector itself wrt to list selection logic.
I'll dig into then soon.



SVN revision: 47846
2010-04-08 20:36:37 +00:00