Changeset 6334


Ignore:
Timestamp:
Nov 16, 2017, 12:46:13 PM (2 years ago)
Author:
jrpelegrina
Message:

New feature: Sync specific folder

Location:
lliurex-gdrive/trunk/fuentes
Files:
3 added
9 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-core.install/usr/bin/lliurex-gdrive-autostart

    r5885 r6334  
    115115                                        status=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
    116116                                        if status["status"]:
    117                                                 self.LliurexGoogleDriveManager.dismount_mountpoint(profile,mountpoint)
     117                                                self.LliurexGoogleDriveManager.dismount_mountpoint(mountpoint,profile)
    118118
    119119        #def dismount                           
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py

    r5803 r6334  
    4848                builder.add_from_file(ui_path)
    4949
     50                self.stack = Gtk.Stack()
     51                self.stack.set_transition_duration(1000)
     52                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT)
     53
    5054                self.main_box=builder.get_object("profile_data_box")
    5155                self.profiles_list_label=builder.get_object("profiles_list_label")
     
    6064                self.add_new_profile_button.set_image(image)
    6165                self.new_profile_window=builder.get_object("new_profile_window")
     66                self.data=builder.get_object("data")
     67                self.edit_profile_box=builder.get_object("edit_profile_box")
    6268                self.profile_label=builder.get_object("profile_label")
    6369                self.profile_entry=builder.get_object("profile_entry")
     
    6874                self.automount_label=builder.get_object("automount_label")
    6975                self.automount_entry=builder.get_object("automount_entry")
     76                self.root_folder_param_label=builder.get_object("root_folder_param_label")
     77                self.root_folder_param_entry=builder.get_object("root_folder_param_entry")
     78                self.gdrive_folder_label=builder.get_object("gdrive_folder_label")
     79                self.gdrive_folder_entry=builder.get_object("gdrive_folder_entry")
     80                self.gdrive_folder_entry.set_width_chars(30)
     81                self.gdrive_folder_entry.set_max_width_chars(30)
     82                self.gdrive_folder_entry.set_xalign(-1)
     83                self.gdrive_folder_entry.set_ellipsize(Pango.EllipsizeMode.START)
     84                self.edit_gdrive_folder_button=builder.get_object("edit_gdrive_folder_button")
     85
    7086                self.profile_msg=builder.get_object("profile_msg")
    7187                self.profile_pbar=builder.get_object("profile_pbar")
    7288                self.accept_add_profile_button=builder.get_object("accept_add_profile_button")
    7389                self.cancel_add_profile_button=builder.get_object("cancel_add_profile_button")
    74                
    75                                
     90
     91                self.gdrive_combobox_box=builder.get_object("gdrive_combobox_box")
     92                self.gdrive_combobox_label=builder.get_object("gdrive_combobox_label")
     93                self.gdrive_combobox=builder.get_object("gdrive_combobox")
     94                self.return_combobox_button=builder.get_object("return_combobox_button")
     95               
     96                                       
     97                self.syncfolders_model=Gtk.ListStore(str)
     98                rende=Gtk.CellRendererText()
     99                rende.set_property("ellipsize-set",True)
     100                rende.set_property("ellipsize",Pango.EllipsizeMode.START)
     101                rende.set_property("width-chars",65)
     102                rende.set_property("max-width-chars",65)
     103                self.gdrive_combobox.set_model(self.syncfolders_model)
     104                self.gdrive_combobox.pack_start(rende,False)
     105                self.gdrive_combobox.add_attribute(rende,"text",0)
     106               
     107                self.gdrive_combobox.set_active(0)
     108                       
    76109                self.pack_start(self.main_box,True,True,0)
    77110                self.connect_signals()
    78111                self.set_css_info()
     112                self.stack.show()
     113                self.stack.add_titled(self.edit_profile_box,"edit","Edit")
     114                self.stack.add_titled(self.gdrive_combobox_box,"folder", "Folder")
     115                self.data.pack_start(self.stack,True,False,5)
     116
     117                self.data.pack_start(self.edit_profile_box,True,True,0)
     118
    79119
    80120                self.current_status={}
    81121                self.edition=False
     122                self.root_folder=False
     123                self.read=False
    82124                self.profile_pbar.hide()
    83125
     
    94136                self.edit_profile_t=threading.Thread(target=self.edit_profile)
    95137                self.check_connection_t=threading.Thread(target=self.check_connection)
     138                self.read_mountpoint_t=threading.Thread(target=self.read_mountpoint)
     139                self.check_form_t=threading.Thread(target=self.check_form)
    96140               
    97141               
     
    100144                self.edit_profile_t.daemon=True
    101145                self.check_connection_t.daemon=True
     146                self.read_mountpoint_t.daemon=True
     147                self.check_form_t.daemon=True
    102148
    103149                self.create_mountpoint_t.done=False
    104150                self.edit_profile_t.done=False
     151                self.read_mountpoint_t.done=False
     152                self.check_form_t.done=False
    105153
    106154                self.create_profile_t.launched=False
    107155                self.create_mountpoint_t.launched=False
    108156                self.edit_profile_t.launched=False
     157                self.read_mountpoint_t.launched=False
     158                self.check_form_t.launched=False
     159               
    109160               
    110161                GObject.threads_init()
     
    127178                self.msg_label.set_name("MSG_LABEL")
    128179                self.profile_msg.set_name("MSG_LABEL")
     180                self.root_folder_param_label.set_name("OPTION_LABEL")
     181                self.gdrive_combobox_label.set_name("OPTION_LABEL")
     182                self.gdrive_folder_label.set_name("OPTION_LABEL")
     183                self.gdrive_folder_entry.set_name("GDRIVE_FOLDER")
    129184               
    130185                       
     
    139194                self.new_profile_window.connect("delete_event",self.hide_window)
    140195                self.mountpoint_entry.connect("file-set",self.check_mountpoint_folder)
     196                self.gdrive_combobox.connect("changed",self.on_gdrive_combobox_changed)
     197                self.root_folder_param_entry.connect("notify::active",self.root_folder_clicked)
     198                self.return_combobox_button.connect("clicked",self.return_combobox_button_clicked)
     199                self.edit_gdrive_folder_button.connect("clicked",self.edit_gdrive_folder_button_clicked)
    141200
    142201
     
    147206               
    148207                self.initial_connection=self.core.LliurexGoogleDriveManager.check_google_connection()
     208               
    149209                return
    150210
     
    154214               
    155215                self.profiles_info=info
    156                 print self.profiles_info
    157216                for item in self.profiles_info:
    158217                        profile=item
     
    188247                self.mountpoint_entry.set_sensitive(False)
    189248                self.automount_entry.set_sensitive(False)
     249                self.root_folder_param_entry.set_sensitive(False)
     250                self.edit_gdrive_folder_button.set_sensitive(False)
    190251
    191252        #def disable_entry_profile_dialog
     
    199260                        self.profile_entry.grab_focus()
    200261                        self.email_entry.set_sensitive(True)
     262                        self.root_folder_param_entry.hide()
     263                        self.root_folder_param_label.hide()
     264                        self.gdrive_folder_label.hide()
     265                        self.gdrive_folder_entry.hide()
     266                        self.edit_gdrive_folder_button.hide()   
    201267
    202268                else:
    203                         self.new_profile_window.set_title(_("Edit profile"))
     269                        self.new_profile_window .set_title(_("Edit profile"))
    204270                        self.profile_entry.set_sensitive(False)
    205271                        self.email_entry.set_sensitive(False)
    206 
     272                        self.root_folder_param_label.show()
     273                        self.root_folder_param_entry.show()
     274                        self.root_folder_param_entry.set_sensitive(True)
     275
     276                        if self.root_folder:
     277                                self.edit_gdrive_folder_button.show()
     278                                self.edit_gdrive_folder_button.set_sensitive(True)
     279                        else:
     280                                if self.read:
     281                                        self.edit_gdrive_folder_button.show()   
     282                                        self.edit_gdrive_folder_button.set_sensitive(True)
     283                       
    207284                self.mountpoint_entry.set_sensitive(True)
    208285                self.automount_entry.set_sensitive(True)       
     
    385462
    386463                self.edition=True
     464                self.read=False
    387465                self.core.lgd.check_plabel.set_text(_("Checking connection to google..."))
    388466                self.core.lgd.check_window.show()
     
    397475
    398476                if self.check_connection_t.is_alive():
     477                                #self.disable_entry_profile_dialog()
    399478                                self.core.lgd.check_pbar.pulse()
    400479                                return True
     
    405484                        #ENCODING TO UNICODE
    406485                        if self.connection:
     486                                self.stack.set_visible_child_name("edit")
     487
    407488                                self.profile_to_edit=hbox               
    408                                 profile=self.profile_to_edit.get_children()[1].get_text().split("\n")[0]
    409                                 self.profile_entry.set_text(profile)
     489                                self.profile=self.profile_to_edit.get_children()[1].get_text().split("\n")[0]
     490                                self.profile_entry.set_text(self.profile)
    410491                                email=self.profile_to_edit.get_children()[1].get_text().split("\n")[1]
    411492                                self.email_entry.set_text(email)
    412493                                mountpoint=self.profile_to_edit.get_children()[3].get_text()
    413494                                self.mountpoint_entry.set_filename(mountpoint)
    414                                 automount=self.profiles_info[profile.decode("utf-8")]["automount"]
     495                                automount=self.profiles_info[self.profile.decode("utf-8")]["automount"]
    415496                                self.automount_entry.set_active(automount)
    416                                
     497
     498                                try:
     499                                        self.root_folder=self.profiles_info[self.profile.decode("utf-8")]["root_folder"]
     500                                except Exception as e:
     501                                        self.root_folder=False
     502
     503                                if self.root_folder:
     504                                        self.gdrive_folder_label.show()
     505                                        self.gdrive_folder_entry.show()
     506                                        self.gdrive_folder_entry.set_text(self.profiles_info[self.profile.decode("utf-8")]["gdrive_folder"])
     507                                        #self.gdrive_folder=self.gdrive_folder_entry.get_text()
     508                                        self.edit_gdrive_folder_button.show()
     509                                        self.edit_gdrive_folder_button.set_sensitive(True)
     510                                else:
     511                                        self.gdrive_folder_label.hide()
     512                                        self.gdrive_folder_entry.set_text("")
     513                                        #self.gdrive_folder=self.gdrive_folder_entry.get_text()
     514                                        self.gdrive_folder_entry.hide()
     515                                        self.edit_gdrive_folder_button.hide()   
     516
     517                                self.root_folder_param_entry.set_active(self.root_folder)       
    417518
    418519                                self.init_threads()
     
    518619
    519620                if status_info==None:
    520                         print "SIN ESTADO"
    521621                        img=Gtk.Image.new_from_file(MOUNT_ON_IMAGE)
    522622                        css="WARNING_ITEM_BUTTON"
     
    524624                        css="WARNING_ITEM_BUTTON"                       
    525625                elif status_info:
    526                         print "CON ESTADO"
    527626                        img=Gtk.Image.new_from_file(MOUNT_ON_IMAGE)
    528627                        tooltip=_("Mounted. Clicked to dismount now")
     
    549648                self.new_automount=self.automount_entry.get_state()
    550649
    551                 #check_form=self.check_profile_info()
    552                 check_form=self.core.LliurexGoogleDriveManager.check_profile_info(self.new_profile,self.new_mountpoint,self.edition)
    553 
    554                 self.profile_msg.show()
    555 
    556                 if check_form["result"]:
    557                         self.profiles_info[self.new_profile]={}
    558                         self.profiles_info[self.new_profile]["email"]=self.new_email
    559                         self.profiles_info[self.new_profile]["mountpoint"]=self.new_mountpoint
    560                         self.profiles_info[self.new_profile]["automount"]=self.new_automount
    561                         self.profile_msg.set_name("MSG_LABEL")
    562                         if not self.edition:
    563                                 if not self.create_profile_t.launched:
    564                                         self.profile_msg.set_text(_("Connecting with google to get account access..."))
    565                                         self.profile_pbar.show()
    566                                         self.retry=0
    567                                         GLib.timeout_add(100,self.pulsate_add_profile)
    568                                
    569                
     650                if not self.edition:
     651                        self.new_root_folder=False
     652                        self.new_gdrive_folder=""
     653                else:
     654                        self.new_root_folder=self.root_folder_param_entry.get_state()
     655                        if self.new_root_folder:
     656                                        try:
     657                                                self.new_gdrive_folder=self.gdrive_folder_entry.get_text().decode("utf-8")
     658                                        except Exception as e:
     659                                                print str(e)
     660                                                self.new_gdrive_folder=""       
    570661                        else:
    571                                 if not self.edit_profile_t.launched:
    572                                         self.profile_msg.set_text(_("Applying changes..."))
    573                                         self.profile_pbar.show()
    574                                         GLib.timeout_add(100,self.pulsate_edit_profile)
    575                 else:
    576                         self.profile_msg.set_name("MSG_ERROR_LABEL")
    577                         #self.profile_msg.set_text(check_form["msg"])
    578                         self.profile_msg.set_text(self.get_msg(check_form["code"]))
    579                         self.enable_entry_profile_dialog()
     662                                self.new_gdrive_folder=""       
     663         
     664                self.profile_msg.show()
     665                self.profile_msg.set_name("MSG_LABEL")
     666                self.profile_pbar.show()
     667                self.init_threads()
     668                if not self.check_form_t.launched:
     669                        self.profile_msg.set_text(_("Validating entered data..."))
     670                        GLib.timeout_add(100,self.pulsate_check_form)
     671
     672
     673        def pulsate_check_form(self):
     674
     675                self.profile_pbar.pulse()
     676               
     677                if not self.check_form_t.launched:
     678                        self.check_form_t.start()
     679                        self.check_form_t.launched=True
     680
     681
     682                if self.check_form_t.done:
     683
     684                        if self.check_form_result['result']:
     685                                self.profiles_info[self.new_profile]={}
     686                                self.profiles_info[self.new_profile]["email"]=self.new_email
     687                                self.profiles_info[self.new_profile]["mountpoint"]=self.new_mountpoint
     688                                self.profiles_info[self.new_profile]["automount"]=self.new_automount
     689                                self.profiles_info[self.new_profile]["root_folder"]=self.new_root_folder
     690                                self.profiles_info[self.new_profile]["gdrive_folder"]=self.new_gdrive_folder
     691                       
     692                                self.profile_msg.set_name("MSG_LABEL")
     693                                if not self.edition:
     694                                        if not self.create_profile_t.launched:
     695                                                self.profile_msg.set_text(_("Connecting with google to get account access..."))
     696                                                self.profile_pbar.show()
     697                                                self.retry=0
     698                                                GLib.timeout_add(100,self.pulsate_add_profile)
     699                                       
     700                       
     701                                else:
     702                                                               
     703                                        if not self.edit_profile_t.launched:
     704                                                self.profile_msg.set_text(_("Applying changes..."))
     705                                                self.profile_pbar.show()
     706                                                GLib.timeout_add(100,self.pulsate_edit_profile)
     707                        else:
     708                                self.profile_pbar.hide()
     709                                self.profile_msg.set_name("MSG_ERROR_LABEL")
     710                                #self.profile_msg.set_text(check_form["msg"])
     711                                self.profile_msg.set_text(self.get_msg(self.check_form_result["code"]))
     712                                self.enable_entry_profile_dialog()
     713                                return False
     714
     715                if self.check_form_t.launched:
     716                        if not self.check_form_t.done:
     717                                return True             
     718
     719        def check_form(self):                   
     720
     721                self.check_form_result=self.core.LliurexGoogleDriveManager.check_profile_info(self.new_profile,self.new_mountpoint,self.edition,self.new_root_folder,self.new_gdrive_folder)
     722                self.check_form_t.done=True
     723                #self.profile_msg.show()
    580724
    581725       
     
    698842
    699843                elif code==2:
    700                         msg_text=_("Error: unable to mount mount point")
     844                        msg_text=_("Error: Unable to mount mount point")
    701845
    702846                elif code==3:
     
    737881
    738882                elif code==15:
    739                         msg_text=_("Mount point is not owned by user") 
     883                        msg_text=_("Mount point is not owned by user")         
    740884
    741885                elif code==16:
    742                         msg_text=_("Path of mount point can not contain blanks")               
    743                
     886                        msg_text=_("Path of mount point can not contain blanks")
     887                       
     888                elif code==17:
     889                        msg_text=_("Error: You must specify a GDrive folder or disable the option")     
     890
     891                elif code==18:
     892                        msg_text=_("Error: Unable to mount mount point. The synced GDrive folder maybe not be correct")
     893
     894                elif code==19:
     895                        msg_text=_("Error: Synced Gdrive folder no longer exists")
     896               
     897                elif code==20:
     898                        msg_text=_("Error: No folders found in Gdrive profile. You must disable the option")   
     899
     900                               
    744901                return msg_text         
    745902               
     
    821978       
    822979        #def cancel_add_profile_clicked
    823                
     980       
     981        def root_folder_clicked(self,widget,event):
     982
     983                if self.root_folder_param_entry.get_active():
     984                        if not self.root_folder:
     985       
     986                                self.init_read_mountpoint_dialog()     
     987                       
     988                else:
     989                        self.root_folder=False
     990                        self.gdrive_folder_label.hide()
     991                        self.gdrive_folder_entry.hide()
     992                        #self.gdrive_folder_entry.set_text("")
     993                        self.edit_gdrive_folder_button.hide()   
     994
     995        #def root_folder_clicked               
     996
     997
     998        #def pulsate_read_mountpoint                   
     999
     1000        def init_read_mountpoint_dialog(self):
     1001
     1002                if not self.read:
     1003
     1004                        if not self.read_mountpoint_t.launched:
     1005                                self.disable_entry_profile_dialog()
     1006                                self.profile_msg.set_name("MSG_LABEL")
     1007                                self.profile_msg.show()
     1008                                self.profile_msg.set_text(_("Getting folders from Google Drive profile ..."))
     1009                                self.profile_pbar.show()
     1010                                GLib.timeout_add(100,self.pulsate_read_mountpoint)     
     1011
     1012                else:
     1013                        if len(self.syncfolders_model)>1:
     1014                                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT)
     1015                                self.stack.set_visible_child_name("folder")     
     1016                                self.gdrive_combobox.set_active(0)
     1017
     1018        #def init_read_mountpoint_dialog               
     1019
     1020
     1021        def pulsate_read_mountpoint(self):
     1022
     1023                self.profile_pbar.pulse()
     1024
     1025                if not self.read_mountpoint_t.launched:
     1026                        self.read_mountpoint_t.start()
     1027                        self.read_mountpoint_t.launched=True
     1028                        self.accept_add_profile_button.hide()
     1029                        self.cancel_add_profile_button.hide()
     1030
     1031                if self.read_mountpoint_t.done:
     1032                        self.root_folder=False
     1033                        self.enable_entry_profile_dialog()
     1034                        self.profile_pbar.hide()
     1035                        self.profile_msg.hide()
     1036               
     1037                        if len(self.syncfolders_model)>1:
     1038                                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT)
     1039
     1040                                self.stack.set_visible_child_name("folder")
     1041                                self.accept_add_profile_button.show()
     1042                                self.cancel_add_profile_button.show()
     1043                        else:
     1044                                self.profile_msg.show()
     1045                                self.profile_msg.set_name("MSG_ERROR_LABEL")
     1046                                self.profile_msg.set_text(_("No folders detected on google drive profile"))     
     1047                                self.accept_add_profile_button.show()
     1048                                self.cancel_add_profile_button.show()
     1049                       
     1050                        return False
     1051                       
     1052
     1053                if self.read_mountpoint_t.launched:
     1054                        if not self.read_mountpoint_t.done:
     1055                                return True
     1056
     1057       
     1058
     1059        def read_mountpoint(self):
     1060
     1061
     1062                folders=self.core.LliurexGoogleDriveManager.read_mountpoint_directory(self.profile)
     1063               
     1064                self.syncfolders_model.clear()
     1065
     1066                if len(folders)>0:
     1067                       
     1068                        for item in folders:
     1069                                self.syncfolders_model.append([item])
     1070
     1071                                                               
     1072                self.read=True                 
     1073
     1074                self.read_mountpoint_t.done=True       
     1075
     1076        #def read_mountpoint
     1077       
     1078        def edit_gdrive_folder_button_clicked(self,widget):
     1079
     1080
     1081                self.init_threads()
     1082                self.profile_msg.hide()
     1083                self.profile_msg.set_text("")
     1084                self.init_read_mountpoint_dialog()
     1085
     1086                       
     1087
     1088        #def edit_gdrive_folder_button_clicked 
     1089       
     1090
     1091        def return_combobox_button_clicked(self,widget):
     1092
     1093               
     1094                #self.gdrive_folder_entry.set_text(self.folder)
     1095                #self.gdrive_folder=folder
     1096
     1097               
     1098                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_RIGHT)
     1099                self.stack.set_visible_child_name("edit")       
     1100
     1101                self.gdrive_folder_label.show()
     1102                self.gdrive_folder_entry.show()
     1103                self.edit_gdrive_folder_button.set_sensitive(True)     
     1104
     1105        #def return_combobox_button_clicked     
     1106
     1107        def on_gdrive_combobox_changed (self,combo):
     1108
     1109
     1110               
     1111                tree_iter=combo.get_active_iter()
     1112
     1113               
     1114                if tree_iter != None:
     1115                        model = combo.get_model()
     1116                        folder = model[tree_iter][0]
     1117                        self.gdrive_folder_entry.set_text(folder)
     1118
     1119
     1120        #def on_gdrive_combobox_changeg         
     1121
     1122       
     1123
     1124
     1125
    8241126#class profilebox
     1127
     1128
     1129       
     1130               
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/lliurex-gdrive.css

    r4029 r6334  
    1515                       
    1616        }       
     17
     18        #GDRIVE_FOLDER {
     19               
     20                color: #3366cc;
     21                font: Roboto 11;
     22
     23        }
    1724
    1825        #MSG_ERROR_LABEL {
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui

    r4042 r6334  
    4949    </child>
    5050  </object>
     51  <object class="GtkBox" id="edit_profile_box">
     52    <property name="width_request">500</property>
     53    <property name="height_request">300</property>
     54    <property name="visible">True</property>
     55    <property name="can_focus">False</property>
     56    <property name="margin_left">5</property>
     57    <property name="margin_right">5</property>
     58    <property name="margin_top">5</property>
     59    <property name="margin_bottom">5</property>
     60    <property name="orientation">vertical</property>
     61    <child>
     62      <object class="GtkBox" id="profile_box">
     63        <property name="visible">True</property>
     64        <property name="can_focus">False</property>
     65        <property name="valign">start</property>
     66        <property name="margin_bottom">5</property>
     67        <property name="spacing">5</property>
     68        <child>
     69          <object class="GtkGrid" id="grid">
     70            <property name="visible">True</property>
     71            <property name="can_focus">False</property>
     72            <property name="margin_left">5</property>
     73            <property name="margin_right">5</property>
     74            <child>
     75              <object class="GtkLabel" id="profile_label">
     76                <property name="visible">True</property>
     77                <property name="can_focus">False</property>
     78                <property name="halign">start</property>
     79                <property name="margin_left">5</property>
     80                <property name="label" translatable="yes">Profile:</property>
     81              </object>
     82              <packing>
     83                <property name="left_attach">0</property>
     84                <property name="top_attach">0</property>
     85              </packing>
     86            </child>
     87            <child>
     88              <object class="GtkLabel" id="email_label">
     89                <property name="visible">True</property>
     90                <property name="can_focus">False</property>
     91                <property name="halign">start</property>
     92                <property name="margin_left">5</property>
     93                <property name="margin_top">5</property>
     94                <property name="margin_bottom">5</property>
     95                <property name="label" translatable="yes">E-mail:</property>
     96              </object>
     97              <packing>
     98                <property name="left_attach">0</property>
     99                <property name="top_attach">1</property>
     100              </packing>
     101            </child>
     102            <child>
     103              <object class="GtkLabel" id="mountpoint_label">
     104                <property name="visible">True</property>
     105                <property name="can_focus">False</property>
     106                <property name="halign">start</property>
     107                <property name="margin_left">5</property>
     108                <property name="margin_top">5</property>
     109                <property name="margin_bottom">5</property>
     110                <property name="label" translatable="yes">Mount point:</property>
     111              </object>
     112              <packing>
     113                <property name="left_attach">0</property>
     114                <property name="top_attach">2</property>
     115              </packing>
     116            </child>
     117            <child>
     118              <object class="GtkLabel" id="automount_label">
     119                <property name="visible">True</property>
     120                <property name="can_focus">False</property>
     121                <property name="halign">start</property>
     122                <property name="margin_left">5</property>
     123                <property name="margin_top">5</property>
     124                <property name="margin_bottom">5</property>
     125                <property name="label" translatable="yes">Mount at login:</property>
     126              </object>
     127              <packing>
     128                <property name="left_attach">0</property>
     129                <property name="top_attach">3</property>
     130              </packing>
     131            </child>
     132            <child>
     133              <object class="GtkEntry" id="profile_entry">
     134                <property name="width_request">300</property>
     135                <property name="visible">True</property>
     136                <property name="can_focus">True</property>
     137                <property name="margin_left">4</property>
     138                <property name="primary_icon_name">emblem-personal</property>
     139              </object>
     140              <packing>
     141                <property name="left_attach">1</property>
     142                <property name="top_attach">0</property>
     143                <property name="width">2</property>
     144              </packing>
     145            </child>
     146            <child>
     147              <object class="GtkEntry" id="email_entry">
     148                <property name="visible">True</property>
     149                <property name="can_focus">True</property>
     150                <property name="margin_left">5</property>
     151                <property name="margin_top">5</property>
     152                <property name="margin_bottom">5</property>
     153                <property name="primary_icon_name">email</property>
     154                <property name="input_purpose">email</property>
     155              </object>
     156              <packing>
     157                <property name="left_attach">1</property>
     158                <property name="top_attach">1</property>
     159                <property name="width">2</property>
     160              </packing>
     161            </child>
     162            <child>
     163              <object class="GtkSwitch" id="automount_entry">
     164                <property name="visible">True</property>
     165                <property name="can_focus">True</property>
     166                <property name="halign">end</property>
     167                <property name="margin_left">5</property>
     168              </object>
     169              <packing>
     170                <property name="left_attach">1</property>
     171                <property name="top_attach">3</property>
     172                <property name="width">2</property>
     173              </packing>
     174            </child>
     175            <child>
     176              <object class="GtkFileChooserButton" id="mountpoint_entry">
     177                <property name="visible">True</property>
     178                <property name="can_focus">False</property>
     179                <property name="margin_left">5</property>
     180                <property name="margin_top">5</property>
     181                <property name="margin_bottom">5</property>
     182                <property name="action">select-folder</property>
     183              </object>
     184              <packing>
     185                <property name="left_attach">1</property>
     186                <property name="top_attach">2</property>
     187                <property name="width">2</property>
     188              </packing>
     189            </child>
     190            <child>
     191              <object class="GtkLabel" id="root_folder_param_label">
     192                <property name="visible">True</property>
     193                <property name="can_focus">False</property>
     194                <property name="halign">start</property>
     195                <property name="margin_left">5</property>
     196                <property name="margin_top">5</property>
     197                <property name="margin_bottom">5</property>
     198                <property name="label" translatable="yes">Sync specific Gdrive folder:</property>
     199              </object>
     200              <packing>
     201                <property name="left_attach">0</property>
     202                <property name="top_attach">4</property>
     203              </packing>
     204            </child>
     205            <child>
     206              <object class="GtkSwitch" id="root_folder_param_entry">
     207                <property name="visible">True</property>
     208                <property name="can_focus">True</property>
     209                <property name="halign">end</property>
     210                <property name="valign">start</property>
     211                <property name="margin_left">5</property>
     212                <property name="margin_top">5</property>
     213                <property name="margin_bottom">5</property>
     214              </object>
     215              <packing>
     216                <property name="left_attach">1</property>
     217                <property name="top_attach">4</property>
     218                <property name="width">2</property>
     219              </packing>
     220            </child>
     221            <child>
     222              <object class="GtkLabel" id="gdrive_folder_label">
     223                <property name="visible">True</property>
     224                <property name="can_focus">False</property>
     225                <property name="halign">start</property>
     226                <property name="margin_left">5</property>
     227                <property name="margin_top">5</property>
     228                <property name="margin_bottom">5</property>
     229                <property name="label" translatable="yes">Synced Gdrive folder:</property>
     230              </object>
     231              <packing>
     232                <property name="left_attach">0</property>
     233                <property name="top_attach">5</property>
     234              </packing>
     235            </child>
     236            <child>
     237              <object class="GtkButton" id="edit_gdrive_folder_button">
     238                <property name="label">gtk-edit</property>
     239                <property name="visible">True</property>
     240                <property name="can_focus">True</property>
     241                <property name="receives_default">True</property>
     242                <property name="halign">end</property>
     243                <property name="margin_left">5</property>
     244                <property name="use_stock">True</property>
     245              </object>
     246              <packing>
     247                <property name="left_attach">2</property>
     248                <property name="top_attach">5</property>
     249              </packing>
     250            </child>
     251            <child>
     252              <object class="GtkLabel" id="gdrive_folder_entry">
     253                <property name="visible">True</property>
     254                <property name="can_focus">False</property>
     255                <property name="halign">start</property>
     256                <property name="margin_left">5</property>
     257                <property name="margin_right">5</property>
     258              </object>
     259              <packing>
     260                <property name="left_attach">1</property>
     261                <property name="top_attach">5</property>
     262              </packing>
     263            </child>
     264          </object>
     265          <packing>
     266            <property name="expand">True</property>
     267            <property name="fill">True</property>
     268            <property name="position">0</property>
     269          </packing>
     270        </child>
     271      </object>
     272      <packing>
     273        <property name="expand">True</property>
     274        <property name="fill">True</property>
     275        <property name="position">0</property>
     276      </packing>
     277    </child>
     278    <child>
     279      <object class="GtkLabel" id="profile_msg">
     280        <property name="visible">True</property>
     281        <property name="can_focus">False</property>
     282        <property name="margin_left">5</property>
     283        <property name="margin_right">5</property>
     284        <property name="margin_top">10</property>
     285        <property name="margin_bottom">15</property>
     286      </object>
     287      <packing>
     288        <property name="expand">False</property>
     289        <property name="fill">True</property>
     290        <property name="position">1</property>
     291      </packing>
     292    </child>
     293    <child>
     294      <object class="GtkBox" id="box1">
     295        <property name="visible">True</property>
     296        <property name="can_focus">False</property>
     297        <property name="margin_left">5</property>
     298        <property name="margin_right">5</property>
     299        <property name="margin_top">5</property>
     300        <property name="margin_bottom">5</property>
     301        <property name="orientation">vertical</property>
     302        <child>
     303          <object class="GtkProgressBar" id="profile_pbar">
     304            <property name="visible">True</property>
     305            <property name="can_focus">False</property>
     306            <property name="margin_left">5</property>
     307            <property name="margin_right">5</property>
     308            <property name="margin_top">5</property>
     309            <property name="margin_bottom">5</property>
     310          </object>
     311          <packing>
     312            <property name="expand">False</property>
     313            <property name="fill">True</property>
     314            <property name="position">1</property>
     315          </packing>
     316        </child>
     317      </object>
     318      <packing>
     319        <property name="expand">False</property>
     320        <property name="fill">True</property>
     321        <property name="position">2</property>
     322      </packing>
     323    </child>
     324    <child>
     325      <object class="GtkBox" id="box8">
     326        <property name="visible">True</property>
     327        <property name="can_focus">False</property>
     328        <property name="margin_top">5</property>
     329        <property name="margin_bottom">5</property>
     330        <child>
     331          <object class="GtkButton" id="accept_add_profile_button">
     332            <property name="label">gtk-ok</property>
     333            <property name="visible">True</property>
     334            <property name="can_focus">True</property>
     335            <property name="receives_default">True</property>
     336            <property name="margin_right">5</property>
     337            <property name="use_stock">True</property>
     338          </object>
     339          <packing>
     340            <property name="expand">False</property>
     341            <property name="fill">True</property>
     342            <property name="pack_type">end</property>
     343            <property name="position">0</property>
     344          </packing>
     345        </child>
     346        <child>
     347          <object class="GtkButton" id="cancel_add_profile_button">
     348            <property name="label">gtk-cancel</property>
     349            <property name="visible">True</property>
     350            <property name="can_focus">True</property>
     351            <property name="receives_default">True</property>
     352            <property name="margin_right">5</property>
     353            <property name="use_stock">True</property>
     354          </object>
     355          <packing>
     356            <property name="expand">False</property>
     357            <property name="fill">True</property>
     358            <property name="pack_type">end</property>
     359            <property name="position">1</property>
     360          </packing>
     361        </child>
     362      </object>
     363      <packing>
     364        <property name="expand">False</property>
     365        <property name="fill">True</property>
     366        <property name="pack_type">end</property>
     367        <property name="position">3</property>
     368      </packing>
     369    </child>
     370  </object>
     371  <object class="GtkBox" id="gdrive_combobox_box">
     372    <property name="width_request">500</property>
     373    <property name="height_request">300</property>
     374    <property name="visible">True</property>
     375    <property name="can_focus">False</property>
     376    <property name="margin_left">5</property>
     377    <property name="margin_right">5</property>
     378    <property name="margin_top">5</property>
     379    <property name="margin_bottom">5</property>
     380    <property name="orientation">vertical</property>
     381    <child>
     382      <object class="GtkBox" id="box2">
     383        <property name="visible">True</property>
     384        <property name="can_focus">False</property>
     385        <property name="orientation">vertical</property>
     386        <child>
     387          <object class="GtkLabel" id="gdrive_combobox_label">
     388            <property name="visible">True</property>
     389            <property name="can_focus">False</property>
     390            <property name="margin_left">5</property>
     391            <property name="margin_right">5</property>
     392            <property name="margin_top">30</property>
     393            <property name="margin_bottom">15</property>
     394            <property name="label" translatable="yes">Select folder of GDrive to sync</property>
     395          </object>
     396          <packing>
     397            <property name="expand">False</property>
     398            <property name="fill">True</property>
     399            <property name="position">0</property>
     400          </packing>
     401        </child>
     402      </object>
     403      <packing>
     404        <property name="expand">False</property>
     405        <property name="fill">True</property>
     406        <property name="position">0</property>
     407      </packing>
     408    </child>
     409    <child>
     410      <object class="GtkBox" id="box7">
     411        <property name="visible">True</property>
     412        <property name="can_focus">False</property>
     413        <property name="halign">center</property>
     414        <property name="orientation">vertical</property>
     415        <child>
     416          <object class="GtkComboBox" id="gdrive_combobox">
     417            <property name="visible">True</property>
     418            <property name="can_focus">False</property>
     419            <property name="margin_left">15</property>
     420            <property name="margin_right">15</property>
     421            <property name="margin_top">15</property>
     422            <property name="margin_bottom">15</property>
     423          </object>
     424          <packing>
     425            <property name="expand">False</property>
     426            <property name="fill">False</property>
     427            <property name="position">0</property>
     428          </packing>
     429        </child>
     430      </object>
     431      <packing>
     432        <property name="expand">False</property>
     433        <property name="fill">False</property>
     434        <property name="position">1</property>
     435      </packing>
     436    </child>
     437    <child>
     438      <object class="GtkBox" id="box9">
     439        <property name="visible">True</property>
     440        <property name="can_focus">False</property>
     441        <property name="orientation">vertical</property>
     442        <child>
     443          <object class="GtkButton" id="return_combobox_button">
     444            <property name="label">gtk-apply</property>
     445            <property name="visible">True</property>
     446            <property name="can_focus">True</property>
     447            <property name="receives_default">True</property>
     448            <property name="halign">end</property>
     449            <property name="margin_left">5</property>
     450            <property name="margin_right">5</property>
     451            <property name="margin_top">140</property>
     452            <property name="margin_bottom">10</property>
     453            <property name="use_stock">True</property>
     454          </object>
     455          <packing>
     456            <property name="expand">False</property>
     457            <property name="fill">False</property>
     458            <property name="pack_type">end</property>
     459            <property name="position">0</property>
     460          </packing>
     461        </child>
     462      </object>
     463      <packing>
     464        <property name="expand">False</property>
     465        <property name="fill">True</property>
     466        <property name="position">2</property>
     467      </packing>
     468    </child>
     469  </object>
    51470  <object class="GtkWindow" id="main_window">
    52471    <property name="width_request">800</property>
     
    153572  </object>
    154573  <object class="GtkWindow" id="new_profile_window">
    155     <property name="width_request">500</property>
    156     <property name="height_request">300</property>
     574    <property name="width_request">550</property>
     575    <property name="height_request">350</property>
    157576    <property name="can_focus">False</property>
    158577    <property name="resizable">False</property>
     
    161580    <property name="transient_for">main_window</property>
    162581    <child>
    163       <object class="GtkBox" id="box2">
    164         <property name="visible">True</property>
    165         <property name="can_focus">False</property>
    166         <property name="margin_left">10</property>
    167         <property name="margin_right">10</property>
    168         <property name="margin_top">10</property>
    169         <property name="margin_bottom">10</property>
     582      <object class="GtkBox" id="data">
     583        <property name="visible">True</property>
     584        <property name="can_focus">False</property>
    170585        <property name="orientation">vertical</property>
    171         <property name="spacing">10</property>
    172         <child>
    173           <object class="GtkBox" id="profile_box">
    174             <property name="visible">True</property>
    175             <property name="can_focus">False</property>
    176             <property name="spacing">5</property>
    177             <child>
    178               <object class="GtkGrid" id="grid">
    179                 <property name="visible">True</property>
    180                 <property name="can_focus">False</property>
    181                 <child>
    182                   <object class="GtkLabel" id="profile_label">
    183                     <property name="visible">True</property>
    184                     <property name="can_focus">False</property>
    185                     <property name="halign">start</property>
    186                     <property name="margin_left">5</property>
    187                     <property name="label" translatable="yes">Profile:</property>
    188                   </object>
    189                   <packing>
    190                     <property name="left_attach">0</property>
    191                     <property name="top_attach">0</property>
    192                   </packing>
    193                 </child>
    194                 <child>
    195                   <object class="GtkLabel" id="email_label">
    196                     <property name="visible">True</property>
    197                     <property name="can_focus">False</property>
    198                     <property name="halign">start</property>
    199                     <property name="margin_left">5</property>
    200                     <property name="margin_top">5</property>
    201                     <property name="margin_bottom">5</property>
    202                     <property name="label" translatable="yes">E-mail:</property>
    203                   </object>
    204                   <packing>
    205                     <property name="left_attach">0</property>
    206                     <property name="top_attach">1</property>
    207                   </packing>
    208                 </child>
    209                 <child>
    210                   <object class="GtkLabel" id="mountpoint_label">
    211                     <property name="visible">True</property>
    212                     <property name="can_focus">False</property>
    213                     <property name="halign">start</property>
    214                     <property name="margin_left">5</property>
    215                     <property name="margin_top">5</property>
    216                     <property name="margin_bottom">5</property>
    217                     <property name="label" translatable="yes">Mount point:</property>
    218                   </object>
    219                   <packing>
    220                     <property name="left_attach">0</property>
    221                     <property name="top_attach">2</property>
    222                   </packing>
    223                 </child>
    224                 <child>
    225                   <object class="GtkLabel" id="automount_label">
    226                     <property name="visible">True</property>
    227                     <property name="can_focus">False</property>
    228                     <property name="halign">start</property>
    229                     <property name="margin_left">5</property>
    230                     <property name="margin_top">5</property>
    231                     <property name="margin_bottom">5</property>
    232                     <property name="label" translatable="yes">Mount at login:</property>
    233                   </object>
    234                   <packing>
    235                     <property name="left_attach">0</property>
    236                     <property name="top_attach">3</property>
    237                   </packing>
    238                 </child>
    239                 <child>
    240                   <object class="GtkEntry" id="profile_entry">
    241                     <property name="width_request">300</property>
    242                     <property name="visible">True</property>
    243                     <property name="can_focus">True</property>
    244                     <property name="margin_left">4</property>
    245                     <property name="primary_icon_name">emblem-personal</property>
    246                   </object>
    247                   <packing>
    248                     <property name="left_attach">1</property>
    249                     <property name="top_attach">0</property>
    250                   </packing>
    251                 </child>
    252                 <child>
    253                   <object class="GtkEntry" id="email_entry">
    254                     <property name="visible">True</property>
    255                     <property name="can_focus">True</property>
    256                     <property name="margin_left">5</property>
    257                     <property name="margin_top">5</property>
    258                     <property name="margin_bottom">5</property>
    259                     <property name="primary_icon_name">email</property>
    260                     <property name="input_purpose">email</property>
    261                   </object>
    262                   <packing>
    263                     <property name="left_attach">1</property>
    264                     <property name="top_attach">1</property>
    265                   </packing>
    266                 </child>
    267                 <child>
    268                   <object class="GtkSwitch" id="automount_entry">
    269                     <property name="visible">True</property>
    270                     <property name="can_focus">True</property>
    271                     <property name="halign">start</property>
    272                     <property name="margin_left">5</property>
    273                   </object>
    274                   <packing>
    275                     <property name="left_attach">1</property>
    276                     <property name="top_attach">3</property>
    277                   </packing>
    278                 </child>
    279                 <child>
    280                   <object class="GtkFileChooserButton" id="mountpoint_entry">
    281                     <property name="visible">True</property>
    282                     <property name="can_focus">False</property>
    283                     <property name="margin_left">5</property>
    284                     <property name="margin_top">5</property>
    285                     <property name="margin_bottom">5</property>
    286                     <property name="action">select-folder</property>
    287                   </object>
    288                   <packing>
    289                     <property name="left_attach">1</property>
    290                     <property name="top_attach">2</property>
    291                   </packing>
    292                 </child>
    293               </object>
    294               <packing>
    295                 <property name="expand">True</property>
    296                 <property name="fill">True</property>
    297                 <property name="position">0</property>
    298               </packing>
    299             </child>
    300           </object>
    301           <packing>
    302             <property name="expand">False</property>
    303             <property name="fill">True</property>
    304             <property name="position">0</property>
    305           </packing>
    306         </child>
    307         <child>
    308           <object class="GtkLabel" id="profile_msg">
    309             <property name="visible">True</property>
    310             <property name="can_focus">False</property>
    311             <property name="margin_left">5</property>
    312             <property name="margin_right">5</property>
    313             <property name="margin_top">10</property>
    314             <property name="margin_bottom">5</property>
    315           </object>
    316           <packing>
    317             <property name="expand">False</property>
    318             <property name="fill">True</property>
    319             <property name="position">2</property>
    320           </packing>
    321         </child>
    322         <child>
    323           <object class="GtkBox" id="box8">
    324             <property name="visible">True</property>
    325             <property name="can_focus">False</property>
    326             <child>
    327               <object class="GtkButton" id="accept_add_profile_button">
    328                 <property name="label">gtk-ok</property>
    329                 <property name="visible">True</property>
    330                 <property name="can_focus">True</property>
    331                 <property name="receives_default">True</property>
    332                 <property name="margin_right">5</property>
    333                 <property name="use_stock">True</property>
    334               </object>
    335               <packing>
    336                 <property name="expand">False</property>
    337                 <property name="fill">True</property>
    338                 <property name="pack_type">end</property>
    339                 <property name="position">0</property>
    340               </packing>
    341             </child>
    342             <child>
    343               <object class="GtkButton" id="cancel_add_profile_button">
    344                 <property name="label">gtk-cancel</property>
    345                 <property name="visible">True</property>
    346                 <property name="can_focus">True</property>
    347                 <property name="receives_default">True</property>
    348                 <property name="margin_right">5</property>
    349                 <property name="use_stock">True</property>
    350               </object>
    351               <packing>
    352                 <property name="expand">False</property>
    353                 <property name="fill">True</property>
    354                 <property name="pack_type">end</property>
    355                 <property name="position">1</property>
    356               </packing>
    357             </child>
    358           </object>
    359           <packing>
    360             <property name="expand">False</property>
    361             <property name="fill">True</property>
    362             <property name="pack_type">end</property>
    363             <property name="position">3</property>
    364           </packing>
    365         </child>
    366         <child>
    367           <object class="GtkBox" id="box1">
    368             <property name="visible">True</property>
    369             <property name="can_focus">False</property>
    370             <property name="orientation">vertical</property>
    371             <child>
    372               <object class="GtkProgressBar" id="profile_pbar">
    373                 <property name="visible">True</property>
    374                 <property name="can_focus">False</property>
    375                 <property name="margin_left">5</property>
    376                 <property name="margin_right">5</property>
    377                 <property name="margin_top">5</property>
    378                 <property name="margin_bottom">5</property>
    379               </object>
    380               <packing>
    381                 <property name="expand">False</property>
    382                 <property name="fill">True</property>
    383                 <property name="position">1</property>
    384               </packing>
    385             </child>
    386           </object>
    387           <packing>
    388             <property name="expand">False</property>
    389             <property name="fill">True</property>
    390             <property name="position">4</property>
    391           </packing>
     586        <child>
     587          <placeholder/>
    392588        </child>
    393589      </object>
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator

    r5645 r6334  
    4141SP4=RSRC+"rsrc/sp4.png"
    4242SP5=RSRC+"rsrc/sp5.png"
     43SP6=RSRC+"rsrc/sp6.png"
     44SP7=RSRC+"rsrc/sp7.png"
     45SP8=RSRC+"rsrc/sp8.png"
    4346
    4447TIME_CHECK_STATUS=900000
     
    310313        def spinner_sync(self,id):
    311314       
    312                 if self.sp_cont[id]>50:
     315                if self.sp_cont[id]>80:
    313316                        self.sp_cont[id]=0
    314317                       
     
    328331                        img=Gtk.Image.new_from_file(SP5)
    329332                        self.sp_img[id]=img     
     333                elif self.sp_cont[id]==50:
     334                        img=Gtk.Image.new_from_file(SP6)
     335                        self.sp_img[id]=img     
     336                elif self.sp_cont[id]==60:
     337                        img=Gtk.Image.new_from_file(SP7)
     338                        self.sp_img[id]=img     
     339                elif self.sp_cont[id]==70:
     340                        img=Gtk.Image.new_from_file(SP8)
     341                        self.sp_img[id]=img                             
    330342                               
    331343        #def spinner_sync       
  • lliurex-gdrive/trunk/fuentes/lliurex-po/lliurex-gdrive-gui/ca_ES@valencia.po

    r5803 r6334  
    55# lliurex <lliurex@gva.es>, 2017.
    66# Jose A. Murcia <joamruan@gmail.com>, 2017.
     7# Pilar Embid Giner <embid_mar@gva.es>, 2017.
    78msgid ""
    89msgstr ""
    910"Project-Id-Version: \n"
    1011"Report-Msgid-Bugs-To: \n"
    11 "POT-Creation-Date: 2017-09-13 10:11+0200\n"
    12 "PO-Revision-Date: 2017-09-13 10:17+0200\n"
    13 "Last-Translator: Jose A. Murcia <joamruan@gmail.com>\n"
     12"POT-Creation-Date: 2017-10-23 12:54+0200\n"
     13"PO-Revision-Date: 2017-11-15 13:25+0200\n"
     14"Last-Translator: Pilar Embid Giner <embid_mar@gva.es>\n"
    1415"Language-Team: LliureX\n"
    1516"Language: es\n"
     
    1819"Content-Transfer-Encoding: 8bit\n"
    1920"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    20 "X-Generator: Poedit 1.8.7.1\n"
    21 
    22 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:179
     21"X-Generator: Virtaal 0.7.1\n"
     22
     23#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:238
    2324msgid "Cancel"
    2425msgstr "Cancel·la"
    2526
    26 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:197
     27#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:258
    2728msgid "Create new profile"
    2829msgstr "Crea un nou perfil"
    2930
    30 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:203
    31 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:480
     31#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:269
     32#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:581
    3233msgid "Edit profile"
    3334msgstr "Edita el perfil"
    3435
    35 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:217
     36#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:294
    3637#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:283
    3738msgid "Close"
    3839msgstr "Tanca"
    3940
    40 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:225
    41 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:387
     41#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:302
     42#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:465
    4243msgid "Checking connection to google..."
    4344msgstr "S'està comprovant la connexió a Google..."
    4445
    45 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:272
     46#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:349
    4647msgid "Do you want delete the profile?"
    4748msgstr "Voleu esborrar el perfil?"
    4849
    49 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:290
    50 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:334
    51 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:572
     50#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:367
     51#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:411
     52#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:704
    5253#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:339
    5354msgid "Applying changes..."
    5455msgstr "S'estan aplicant els canvis..."
    5556
    56 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:472
     57#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:573
    5758msgid "Delete profile"
    5859msgstr "Esborra el perfil"
    5960
    60 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:523
     61#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:623
    6162#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:438
    6263msgid "Without connection. Clicked to update"
    6364msgstr "No hi ha connexió. Feu clic per a actualitzar"
    6465
    65 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:528
     66#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:627
    6667#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:443
    6768msgid "Mounted. Clicked to dismount now"
    6869msgstr "Muntat. Feu clic per a desmuntar ara."
    6970
    70 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:532
     71#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:631
    7172#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:448
    7273msgid "Dismounted. Clicked to mount now"
    7374msgstr "Desmuntat. Feu clic per a muntar ara."
    7475
    75 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:564
     76#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:669
     77msgid "Validating entered data..."
     78msgstr "S'estan validant les dades introduïdes..."
     79
     80#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:695
    7681msgid "Connecting with google to get account access..."
    7782msgstr "S'està connectant amb Google per a accedir al compte..."
    7883
    79 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:657
     84#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:801
    8085msgid "Creating profile... "
    8186msgstr "S'està creant el perfil..."
    8287
    83 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:666
     88#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:810
    8489msgid "Profile created successfully"
    85 msgstr "El perfil s'ha creat correctament"
    86 
    87 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:694
     90msgstr "El perfil s'ha creat correctament."
     91
     92#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:838
    8893#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:360
    8994msgid "Changes applied successfully"
    90 msgstr "Els canvis s'han aplicat correctament"
    91 
    92 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:697
     95msgstr "Els canvis s'han aplicat correctament."
     96
     97#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:841
    9398msgid "Error: Unable to create mount point"
    94 msgstr "Error: No s'ha pogut crear el punt de muntatge"
    95 
    96 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:700
    97 msgid "Error: unable to mount mount point"
    98 msgstr "Error: No s'ha pogut muntar el punt de muntatge"
    99 
    100 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:703
     99msgstr "Error: No s'ha pogut crear el punt de muntatge."
     100
     101#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:844
     102msgid "Error: Unable to mount mount point"
     103msgstr "Error: No s'ha pogut muntar el punt de muntatge."
     104
     105#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:847
    101106msgid "Error: Mount point is not owned by user"
    102 msgstr "Error: El punt de muntatge no és propietat de l'usuari"
    103 
    104 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:706
     107msgstr "Error: El punt de muntatge no és propietat de l'usuari."
     108
     109#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:850
    105110msgid "Error: No mount point indicated"
    106 msgstr "Error: No s'ha especificat un punt de muntatge"
    107 
    108 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:709
     111msgstr "Error: No s'ha especificat un punt de muntatge."
     112
     113#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:853
    109114msgid "Error: Profile is not authorized to Google Drive"
    110 msgstr "Error: El perfil no té autorització a Google Drive"
    111 
    112 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:712
     115msgstr "Error: El perfil no té autorització al Google Drive."
     116
     117#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:856
    113118msgid "Error: Unknow profile"
    114 msgstr "Error: perfil desconegut"
    115 
    116 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:715
     119msgstr "Error: Perfil desconegut."
     120
     121#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:859
    117122msgid "Error: Unable to dismount mount point"
    118 msgstr "Error: No s'ha pogut desmuntar el punt de muntatge"
    119 
    120 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:718
     123msgstr "Error: No s'ha pogut desmuntar el punt de muntatge."
     124
     125#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:862
    121126#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:348
    122127msgid "Error: Unable to connect with google"
    123 msgstr "Error: No s'ha pogut connectar amb Google"
    124 
    125 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:721
     128msgstr "Error: No s'ha pogut connectar amb Google."
     129
     130#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:865
    126131#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:358
    127132msgid "Status updated. Now you can change it"
    128 msgstr "S'ha actualitzat l'estat. Ara podeu canviar-lo"
    129 
    130 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:724
     133msgstr "S'ha actualitzat l'estat. Ara podeu canviar-lo."
     134
     135#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:868
    131136msgid "You must indicate a profile"
    132137msgstr "Cal que indiqueu un perfil"
    133138
    134 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:727
     139#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:871
    135140msgid "Profile can not contain blanks"
    136141msgstr "El perfil no pot contindre espais en blanc"
    137142
    138 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:730
     143#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:874
    139144msgid "Profile already exists"
    140 msgstr "El perfil ja existeix"
    141 
    142 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:733
     145msgstr "El perfil ja existeix."
     146
     147#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:877
    143148msgid "Mount point already used by another profile"
    144 msgstr "El punt de muntatge ja s'està utilitzant per un altre perfil"
    145 
    146 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:736
     149msgstr "El punt de muntatge ja s'està utilitzant per un altre perfil."
     150
     151#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:880
    147152msgid "The mount point must be an empty folder"
    148 msgstr "El punt de muntatge ha de ser una carpeta buida"
    149 
    150 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:739
     153msgstr "El punt de muntatge ha de ser una carpeta buida."
     154
     155#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:883
    151156msgid "Mount point is not owned by user"
    152 msgstr "El punt de muntatge no és propietat de l'usuari"
    153 
    154 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:742
     157msgstr "El punt de muntatge no és propietat de l'usuari."
     158
     159#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:886
    155160msgid "Path of mount point can not contain blanks"
    156 msgstr "La ubicació del punt de muntatge no pot contindre espais en blanc"
    157 
    158 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:757
     161msgstr "La ubicació del punt de muntatge no pot contindre espais en blanc."
     162
     163#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:889
     164msgid "Error: You must specify a GDrive folder or disable the option"
     165msgstr "Error: Heu d'especificar una carpeta al GDrive o inhabilitar l'opció"
     166
     167#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:892
     168msgid ""
     169"Error: Unable to mount mount point. The synced GDrive folder maybe not be "
     170"correct"
     171msgstr ""
     172"Error: No s'ha pogut muntar el punt de muntatge. Potser la carpeta "
     173"sincronitzada al GDrive no és correcta."
     174
     175#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:895
     176msgid "Error: Synced Gdrive folder no longer exists"
     177msgstr "Error: La carpeta sincronitzada al Gdrive ja no existeix."
     178
     179#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:898
     180msgid "Error: No folders found in Gdrive profile. You must disable the option"
     181msgstr ""
     182"Error: No s'ha trobat cap carpeta al perfil del Gdrive. Heu d'inhabilitar "
     183"l'opció"
     184
     185#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:914
    159186msgid "Error getting authorization"
    160 msgstr "S'ha produït un error mentre s'obtenia autorització"
     187msgstr "S'ha produït un error mentre s'obtenia autorització."
     188
     189#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:1008
     190msgid "Getting folders from Google Drive profile ..."
     191msgstr "S'estan obtenint les carpetes des del perfil del Google Drive..."
     192
     193#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:1046
     194msgid "No folders detected on google drive profile"
     195msgstr "No s'ha detectat cap carpeta en el perfil del Google Drive."
    161196
    162197#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/LliurexGdrive.py:49
    163198msgid "Lliurex GDrive is now running."
    164 msgstr "LliureX GDrive s'està executant."
    165 
    166 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:102
     199msgstr "El LliureX GDrive està ara en execució."
     200
     201#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:80
     202msgid "Profile:"
     203msgstr "Perfil:"
     204
     205#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:95
     206msgid "E-mail:"
     207msgstr "Correu electrònic:"
     208
     209#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:110
     210msgid "Mount point:"
     211msgstr "Punt de muntatge:"
     212
     213#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:125
     214msgid "Mount at login:"
     215msgstr "S'ha de muntar en l'inici de sessió:"
     216
     217#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:198
     218msgid "Sync specific Gdrive folder:"
     219msgstr "Sincronitza una carpeta específica del Gdrive:"
     220
     221#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:229
     222msgid "Synced Gdrive folder:"
     223msgstr "Carpeta sincronitzada del Gdrive:"
     224
     225#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:394
     226msgid "Select folder of GDrive to sync"
     227msgstr "Seleccioneu la carpeta del GDrive que voleu sincronitzar"
     228
     229#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:521
    167230msgid "Show indicator in menu bar at login:"
    168231msgstr "Mostra l'indicador a la barra de menú en l'inici de sessió:"
    169232
    170 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:187
    171 msgid "Profile:"
    172 msgstr "Perfil:"
    173 
    174 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:202
    175 msgid "E-mail:"
    176 msgstr "Correu electrònic:"
    177 
    178 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:217
    179 msgid "Mount point:"
    180 msgstr "Punt de muntatge:"
    181 
    182 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:232
    183 msgid "Mount at login:"
    184 msgstr "S'ha de muntar en l'inici de sessió:"
    185 
    186 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:409
     233#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:605
    187234msgid "SYNC PROFILES"
    188235msgstr "SINC PERFILS"
    189236
    190 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:479
     237#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:675
    191238msgid "Add profile"
    192239msgstr "Afig perfil"
     
    228275#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:414
    229276msgid "An error occurred updating the cache. Try again"
    230 msgstr "S'ha produït un error actualitzant la memòria cau. Intente-ho novament"
     277msgstr "S'ha produït un error en actualitzar la memòria cau. Torneu-ho a provar"
    231278
    232279#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:439
     
    239286msgid "Used: %s of %s"
    240287msgstr "Ús: %s de %s"
     288
     289#~ msgid "Error: unable to mount mount point"
     290#~ msgstr "Error: No s'ha pogut muntar el punt de muntatge"
  • lliurex-gdrive/trunk/fuentes/lliurex-po/lliurex-gdrive-gui/es.po

    r5803 r6334  
    99"Project-Id-Version: \n"
    1010"Report-Msgid-Bugs-To: \n"
    11 "POT-Creation-Date: 2017-09-13 10:12+0200\n"
    12 "PO-Revision-Date: 2017-09-13 10:12+0200\n"
     11"POT-Creation-Date: 2017-10-23 12:54+0200\n"
     12"PO-Revision-Date: 2017-11-16 09:02+0100\n"
    1313"Last-Translator: lliurex <lliurex@gva.es>\n"
    1414"Language-Team: Spanish <es@li.org>\n"
     
    2020"X-Generator: Poedit 1.8.7.1\n"
    2121
    22 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:179
     22#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:238
    2323msgid "Cancel"
    2424msgstr "Cancelar"
    2525
    26 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:197
     26#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:258
    2727msgid "Create new profile"
    2828msgstr "Crear nuevo perfil"
    2929
    30 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:203
    31 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:480
     30#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:269
     31#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:581
    3232msgid "Edit profile"
    3333msgstr "Editar perfil"
    3434
    35 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:217
     35#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:294
    3636#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:283
    3737msgid "Close"
    3838msgstr "Cerrar"
    3939
    40 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:225
    41 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:387
     40#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:302
     41#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:465
    4242msgid "Checking connection to google..."
    4343msgstr "Comprobando conexión con Google..."
    4444
    45 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:272
     45#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:349
    4646msgid "Do you want delete the profile?"
    4747msgstr "¿Deseas borrar el perfil?"
    4848
    49 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:290
    50 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:334
    51 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:572
     49#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:367
     50#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:411
     51#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:704
    5252#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:339
    5353msgid "Applying changes..."
    5454msgstr "Aplicando cambios..."
    5555
    56 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:472
     56#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:573
    5757msgid "Delete profile"
    5858msgstr "Borrar perfil"
    5959
    60 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:523
     60#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:623
    6161#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:438
    6262msgid "Without connection. Clicked to update"
    6363msgstr "Sin conexión. Pulse para actualizar"
    6464
    65 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:528
     65#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:627
    6666#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:443
    6767msgid "Mounted. Clicked to dismount now"
    6868msgstr "Montado. Pulse para desmontar ahora"
    6969
    70 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:532
     70#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:631
    7171#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:448
    7272msgid "Dismounted. Clicked to mount now"
    7373msgstr "Desmontado. Pulse para montar ahora"
    7474
    75 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:564
     75#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:669
     76msgid "Validating entered data..."
     77msgstr "Validando la información introducida..."
     78
     79#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:695
    7680msgid "Connecting with google to get account access..."
    7781msgstr "Conectando con google para obtener acceso a la cuenta..."
    7882
    79 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:657
     83#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:801
    8084msgid "Creating profile... "
    8185msgstr "Creando perfil..."
    8286
    83 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:666
     87#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:810
    8488msgid "Profile created successfully"
    8589msgstr "Perfil creado correctamente"
    8690
    87 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:694
     91#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:838
    8892#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:360
    8993msgid "Changes applied successfully"
    9094msgstr "Cambios aplicados correctamente"
    9195
    92 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:697
     96#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:841
    9397msgid "Error: Unable to create mount point"
    9498msgstr "Error: Imposible crear el punto de montaje"
    9599
    96 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:700
    97 msgid "Error: unable to mount mount point"
    98 msgstr "Error: imposible montar el punto de montaje"
    99 
    100 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:703
     100#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:844
     101msgid "Error: Unable to mount mount point"
     102msgstr "Error: Imposible montar el punto de montaje"
     103
     104#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:847
    101105msgid "Error: Mount point is not owned by user"
    102106msgstr "Error: Punto de montaje no pertenece al usurio"
    103107
    104 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:706
     108#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:850
    105109msgid "Error: No mount point indicated"
    106110msgstr "Error: No se ha indicado un punto de montaje"
    107111
    108 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:709
     112#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:853
    109113msgid "Error: Profile is not authorized to Google Drive"
    110114msgstr "Error: El perfil no tiene autorización para Google Drive"
    111115
    112 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:712
     116#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:856
    113117msgid "Error: Unknow profile"
    114118msgstr "Error: Perfil desconocido"
    115119
    116 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:715
     120#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:859
    117121msgid "Error: Unable to dismount mount point"
    118122msgstr "Error: Imposible desmontar el punto de montaje"
    119123
    120 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:718
     124#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:862
    121125#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:348
    122126msgid "Error: Unable to connect with google"
    123127msgstr "Error: Imposible conectar con Google"
    124128
    125 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:721
     129#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:865
    126130#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:358
    127131msgid "Status updated. Now you can change it"
    128132msgstr "Estado actualizado. Ahora puedes cambiarlo"
    129133
    130 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:724
     134#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:868
    131135msgid "You must indicate a profile"
    132136msgstr "Debes indicar un perfil"
    133137
    134 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:727
     138#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:871
    135139msgid "Profile can not contain blanks"
    136140msgstr "El perfil no puede contener espacios en blanco"
    137141
    138 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:730
     142#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:874
    139143msgid "Profile already exists"
    140144msgstr "El perfil ya existe"
    141145
    142 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:733
     146#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:877
    143147msgid "Mount point already used by another profile"
    144148msgstr "El punto de montaje ya esta siendo usado por otro perfil"
    145149
    146 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:736
     150#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:880
    147151msgid "The mount point must be an empty folder"
    148152msgstr "El punto de montaje debe ser una carpeta vacía"
    149153
    150 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:739
     154#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:883
    151155msgid "Mount point is not owned by user"
    152156msgstr "El punto de montaje no pertenece al usuario"
    153157
    154 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:742
     158#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:886
    155159msgid "Path of mount point can not contain blanks"
    156160msgstr "La ruta del punto de montaje no puede contener espacios en blanco"
    157161
    158 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:757
     162#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:889
     163msgid "Error: You must specify a GDrive folder or disable the option"
     164msgstr "Error: Debe especificar la carpeta de Gdrive o deshabilitar la opción"
     165
     166#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:892
     167msgid ""
     168"Error: Unable to mount mount point. The synced GDrive folder maybe not be "
     169"correct"
     170msgstr ""
     171"Error: Imposible montar el punto de montaje. Puede que la carpeta de Gdrive "
     172"sincronizada no sea correcta"
     173
     174#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:895
     175msgid "Error: Synced Gdrive folder no longer exists"
     176msgstr "Error: La carpeta sincronizada de Gdrive no existe"
     177
     178#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:898
     179msgid "Error: No folders found in Gdrive profile. You must disable the option"
     180msgstr ""
     181"Error: No se han detectado carpetas en el perfil de Gdrive. Debe "
     182"deshabilitar la opción"
     183
     184#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:914
    159185msgid "Error getting authorization"
    160186msgstr "Error obteniendo autorización"
     187
     188#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:1008
     189msgid "Getting folders from Google Drive profile ..."
     190msgstr "Obteniendo carpetas del perfil de Google Drive..."
     191
     192#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:1046
     193msgid "No folders detected on google drive profile"
     194msgstr "No se han detectado carpetas en el perfil de Google Drive"
    161195
    162196#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/LliurexGdrive.py:49
     
    164198msgstr "Lliurex Gdrive ya esta ejecutando"
    165199
    166 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:102
     200#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:80
     201msgid "Profile:"
     202msgstr "Perfil:"
     203
     204#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:95
     205msgid "E-mail:"
     206msgstr "E-mail:"
     207
     208#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:110
     209msgid "Mount point:"
     210msgstr "Punto de montaje:"
     211
     212#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:125
     213msgid "Mount at login:"
     214msgstr "Montar al inicio de sesión:"
     215
     216#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:198
     217msgid "Sync specific Gdrive folder:"
     218msgstr "Sincronizar carpeta específica de Gdrive:"
     219
     220#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:229
     221msgid "Synced Gdrive folder:"
     222msgstr "Carpeta de Gdrive sincronizada:"
     223
     224#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:394
     225msgid "Select folder of GDrive to sync"
     226msgstr "Selecciona la carpeta de Gdrive a sincronizar"
     227
     228#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:521
    167229msgid "Show indicator in menu bar at login:"
    168230msgstr "Mostar indicador en la barra de menú al inicio de sesión:"
    169231
    170 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:187
    171 msgid "Profile:"
    172 msgstr "Perfil:"
    173 
    174 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:202
    175 msgid "E-mail:"
    176 msgstr "E-mail:"
    177 
    178 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:217
    179 msgid "Mount point:"
    180 msgstr "Punto de montaje:"
    181 
    182 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:232
    183 msgid "Mount at login:"
    184 msgstr "Montar al inicio de sesión:"
    185 
    186 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:409
     232#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:605
    187233msgid "SYNC PROFILES"
    188234msgstr "PERFILES SINCRONIZADOS"
    189235
    190 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:479
     236#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:675
    191237msgid "Add profile"
    192238msgstr "Añadir perfil"
     
    239285msgid "Used: %s of %s"
    240286msgstr "Usado: %s de %s"
     287
     288#~ msgid "Error: unable to mount mount point"
     289#~ msgstr "Error: imposible montar el punto de montaje"
  • lliurex-gdrive/trunk/fuentes/lliurex-po/lliurex-gdrive-gui/lliurex-gdrive.pot

    r5803 r6334  
    99"Project-Id-Version: PACKAGE VERSION\n"
    1010"Report-Msgid-Bugs-To: \n"
    11 "POT-Creation-Date: 2017-09-13 10:10+0200\n"
     11"POT-Creation-Date: 2017-10-23 12:53+0200\n"
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1818"Content-Transfer-Encoding: 8bit\n"
    1919
    20 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:179
     20#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:238
    2121msgid "Cancel"
    2222msgstr ""
    2323
    24 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:197
     24#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:258
    2525msgid "Create new profile"
    2626msgstr ""
    2727
    28 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:203
    29 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:480
     28#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:269
     29#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:581
    3030msgid "Edit profile"
    3131msgstr ""
    3232
    33 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:217
     33#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:294
    3434#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:283
    3535msgid "Close"
    3636msgstr ""
    3737
    38 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:225
    39 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:387
     38#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:302
     39#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:465
    4040msgid "Checking connection to google..."
    4141msgstr ""
    4242
    43 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:272
     43#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:349
    4444msgid "Do you want delete the profile?"
    4545msgstr ""
    4646
    47 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:290
    48 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:334
    49 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:572
     47#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:367
     48#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:411
     49#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:704
    5050#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:339
    5151msgid "Applying changes..."
    5252msgstr ""
    5353
    54 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:472
     54#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:573
    5555msgid "Delete profile"
    5656msgstr ""
    5757
    58 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:523
     58#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:623
    5959#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:438
    6060msgid "Without connection. Clicked to update"
    6161msgstr ""
    6262
    63 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:528
     63#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:627
    6464#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:443
    6565msgid "Mounted. Clicked to dismount now"
    6666msgstr ""
    6767
    68 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:532
     68#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:631
    6969#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:448
    7070msgid "Dismounted. Clicked to mount now"
    7171msgstr ""
    7272
    73 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:564
     73#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:669
     74msgid "Validating entered data..."
     75msgstr ""
     76
     77#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:695
    7478msgid "Connecting with google to get account access..."
    7579msgstr ""
    7680
    77 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:657
     81#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:801
    7882msgid "Creating profile... "
    7983msgstr ""
    8084
    81 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:666
     85#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:810
    8286msgid "Profile created successfully"
    8387msgstr ""
    8488
    85 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:694
     89#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:838
    8690#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:360
    8791msgid "Changes applied successfully"
    8892msgstr ""
    8993
    90 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:697
     94#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:841
    9195msgid "Error: Unable to create mount point"
    9296msgstr ""
    9397
    94 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:700
    95 msgid "Error: unable to mount mount point"
    96 msgstr ""
    97 
    98 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:703
     98#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:844
     99msgid "Error: Unable to mount mount point"
     100msgstr ""
     101
     102#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:847
    99103msgid "Error: Mount point is not owned by user"
    100104msgstr ""
    101105
    102 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:706
     106#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:850
    103107msgid "Error: No mount point indicated"
    104108msgstr ""
    105109
    106 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:709
     110#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:853
    107111msgid "Error: Profile is not authorized to Google Drive"
    108112msgstr ""
    109113
    110 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:712
     114#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:856
    111115msgid "Error: Unknow profile"
    112116msgstr ""
    113117
    114 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:715
     118#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:859
    115119msgid "Error: Unable to dismount mount point"
    116120msgstr ""
    117121
    118 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:718
     122#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:862
    119123#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:348
    120124msgid "Error: Unable to connect with google"
    121125msgstr ""
    122126
    123 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:721
     127#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:865
    124128#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:358
    125129msgid "Status updated. Now you can change it"
    126130msgstr ""
    127131
    128 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:724
     132#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:868
    129133msgid "You must indicate a profile"
    130134msgstr ""
    131135
    132 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:727
     136#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:871
    133137msgid "Profile can not contain blanks"
    134138msgstr ""
    135139
    136 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:730
     140#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:874
    137141msgid "Profile already exists"
    138142msgstr ""
    139143
    140 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:733
     144#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:877
    141145msgid "Mount point already used by another profile"
    142146msgstr ""
    143147
    144 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:736
     148#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:880
    145149msgid "The mount point must be an empty folder"
    146150msgstr ""
    147151
    148 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:739
     152#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:883
    149153msgid "Mount point is not owned by user"
    150154msgstr ""
    151155
    152 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:742
     156#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:886
    153157msgid "Path of mount point can not contain blanks"
    154158msgstr ""
    155159
    156 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:757
     160#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:889
     161msgid "Error: You must specify a GDrive folder or disable the option"
     162msgstr ""
     163
     164#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:892
     165msgid ""
     166"Error: Unable to mount mount point. The synced GDrive folder maybe not be "
     167"correct"
     168msgstr ""
     169
     170#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:895
     171msgid "Error: Synced Gdrive folder no longer exists"
     172msgstr ""
     173
     174#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:898
     175msgid "Error: No folders found in Gdrive profile. You must disable the option"
     176msgstr ""
     177
     178#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:914
    157179msgid "Error getting authorization"
     180msgstr ""
     181
     182#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:1008
     183msgid "Getting folders from Google Drive profile ..."
     184msgstr ""
     185
     186#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:1046
     187msgid "No folders detected on google drive profile"
    158188msgstr ""
    159189
     
    162192msgstr ""
    163193
    164 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:102
     194#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:80
     195msgid "Profile:"
     196msgstr ""
     197
     198#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:95
     199msgid "E-mail:"
     200msgstr ""
     201
     202#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:110
     203msgid "Mount point:"
     204msgstr ""
     205
     206#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:125
     207msgid "Mount at login:"
     208msgstr ""
     209
     210#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:198
     211msgid "Sync specific Gdrive folder:"
     212msgstr ""
     213
     214#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:229
     215msgid "Synced Gdrive folder:"
     216msgstr ""
     217
     218#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:394
     219msgid "Select folder of GDrive to sync"
     220msgstr ""
     221
     222#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:521
    165223msgid "Show indicator in menu bar at login:"
    166224msgstr ""
    167225
    168 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:187
    169 msgid "Profile:"
    170 msgstr ""
    171 
    172 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:202
    173 msgid "E-mail:"
    174 msgstr ""
    175 
    176 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:217
    177 msgid "Mount point:"
    178 msgstr ""
    179 
    180 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:232
    181 msgid "Mount at login:"
    182 msgstr ""
    183 
    184 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:409
     226#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:605
    185227msgid "SYNC PROFILES"
    186228msgstr ""
    187229
    188 #: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:479
     230#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/rsrc/lliurex-gdrive.ui:675
    189231msgid "Add profile"
    190232msgstr ""
  • lliurex-gdrive/trunk/fuentes/python-lliurex-gdrive/lliurex/lliurexgdrive/__init__.py

    r5803 r6334  
    99import datetime
    1010import platform
     11import time
     12import tempfile
    1113
    1214
     
    1517LLIUREX_CONFIG_FILE_64='/usr/share/lliurex-gdrive/llx-data/config_64'
    1618LLIUREX_CONFIG_FILE_32='/usr/share/lliurex-gdrive/llx-data/config_32'
    17 
     19       
    1820
    1921
     
    2931                self.mount_cmd="google-drive-ocamlfuse -label %s %s"
    3032                self.clean_cache="google-drive-ocamlfuse -cc -label %s"
     33
     34                self.gdrive_path=[]
     35                self.read_gdrive_folder=False
    3136
    3237                self.read_conf()
     
    235240                mountpoint_available=""
    236241                mountpoint_per=""
     242                error=False
    237243                tmp=[]
    238244                connect=True
     
    244250                        command='df -h | grep "google-drive-ocamlfuse" | grep ' +mountpoint+'$'
    245251                               
    246                         p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
     252                        p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    247253                        poutput,perror=p.communicate()
    248254
     
    260266
    261267                        else:
    262                                 status=False
     268                                if len(perror)>0:
     269                                        error=True
     270                                        status=False
     271                                        self.dismount_mountpoint(mountpoint)
     272                                else:   
     273                                        status=False
    263274                else:
    264275                        status=None
    265276                                       
    266                 return {"status":status,"size":mountpoint_size,"used":mountpoint_used,"available":mountpoint_available,"used%":mountpoint_per}         
     277                return {"status":status,"size":mountpoint_size,"used":mountpoint_used,"available":mountpoint_available,"used%":mountpoint_per,"error":error}           
    267278               
    268279        #def check_mountpoint_status   
    269280               
    270         def check_profile_info(self,profile,mountpoint,edition):
     281        def check_profile_info(self,profile,mountpoint,edition,root_folder,gdrive_folder):
    271282       
    272283                '''
     
    297308                                                return {"result":False,"code":12}
    298309
    299                
     310                else:
     311
     312                        if root_folder:
     313                                if len(self.gdrive_path)>1:
     314                                        if gdrive_folder=="":
     315                                                return {"result":False,"code":17}
     316                                        else:
     317                                                cont=0
     318                                                for item in self.gdrive_path:
     319                                                        if type(item) is str:
     320                                                                item=item.decode("utf-8")
     321                                                        if item == gdrive_folder:
     322                                                                cont=cont+1
     323                                                if cont==0:
     324                                                        return {"result":False,"code":19}       
     325
     326                                else:
     327                                        if self.read_gdrive_folder==True:
     328                                                return {"result":False,"code":20}
     329                                        else:
     330                                                tmp_mountpoint=tempfile.mkdtemp('_Gdrive')
     331                                                cmd=self.clean_cache%profile
     332                                                os.system(cmd)
     333                                                self.mount_drive(profile,tmp_mountpoint)
     334                                                status=self.check_mountpoint_status(tmp_mountpoint)
     335
     336                                                if not status['error']:
     337                                                        self.dismount_mountpoint(tmp_mountpoint,profile)
     338                                                        error=False
     339                                                else:
     340                                                        error=True
     341
     342                                                try:
     343                                                        shutil.rmtree(tmp_mountpoint)
     344
     345                                                except Exception as e:
     346                                                        pass
     347
     348                                                if error:
     349                                                        return {"result":False,"code":19}                               
     350
    300351                '''
    301352                for item in self.profiles_config:
     
    332383                        code=14: Mountpoint not empty
    333384                        code=15: Mountpoint not owned by user
    334                         code=16: MountPoint with blanck spaces
    335385                '''
    336386
     
    356406                return {"result":True,"code":0}         
    357407
    358        
    359         #def check_profile_info
     408        #def check_mountpoint_folder   
     409       
    360410
    361411        def create_profile(self,profile):
     
    400450        #def create_mountpoint 
    401451
    402         def dismount_mountpoint(self,profile,mountpoint):
    403 
    404                 cmd='fusermount -u -z ' + mountpoint + ";"+self.clean_cache%profile
     452        def dismount_mountpoint(self,mountpoint,profile=None):
     453
     454                if profile != None:
     455                        cmd='fusermount -u -z ' + mountpoint + ";"+self.clean_cache%profile
     456                else:
     457                        cmd='fusermount -u -z ' + mountpoint   
     458
    405459                p=subprocess.Popen(cmd, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    406460                poutput,perror=p.communicate()
     
    408462                mountpoint=mountpoint.encode("utf-8")
    409463                if len(perror)>0:
    410                         print perror
    411464                        msg_log="Dismount mountpoint: Error dismounted '%s': '%s'"%(mountpoint,str(perror))
    412465                        self.dprint(msg_log)
     
    441494
    442495                        if is_mountpoint_mounted["status"]==None:
    443                                 print "SIN RED"
    444496                                result['result']=False
    445497                                result['code']=8
    446498                        else:
    447499                                if is_mountpoint_mounted["status"]:     
    448                                         dismount=self.dismount_mountpoint(profile,mountpoint)
     500                                        dismount=self.dismount_mountpoint(mountpoint,profile)
    449501
    450502                                if dismount["result"]:
     
    469521                return result
    470522               
    471                
    472        
    473         # delete_profile       
     523                       
     524        #def delete_profile     
    474525
    475526       
     
    479530                result["result"]=True
    480531                result["code"]=0
     532
     533                change_config=False
    481534
    482535                old_mountpoint=self.profiles_config[profile]["mountpoint"]
     
    484537                new_mountpoint=info[profile]["mountpoint"]
    485538                new_automount=info[profile]["automount"]
    486 
     539               
     540                try:
     541                        old_root_folder=self.profiles_config[profile]["root_folder"]
     542                        old_gdrive_folder=self.profiles_config[profile]["gdrive_folder"]
     543                except Exception as e:
     544                        old_root_folder=""
     545                        old_gdrive_folder=""   
     546
     547                new_root_folder=info[profile]["root_folder"]
     548                new_gdrive_folder=info[profile]["gdrive_folder"]
     549
     550
     551                if new_root_folder != old_root_folder:
     552                        change_config=True
     553
     554                else:
     555                        if      old_gdrive_folder !=new_gdrive_folder:
     556                                change_config=True
     557               
     558                status=self.check_mountpoint_status(old_mountpoint)
     559                       
    487560                if old_mountpoint!=new_mountpoint:
    488                         status=self.check_mountpoint_status(old_mountpoint)
    489                        
     561                                       
    490562                        if status["status"]:
    491                                 result=self.dismount_mountpoint(profile,old_mountpoint)
    492                                
     563                                result=self.dismount_mountpoint(old_mountpoint,profile)
     564                                                                       
    493565                                if result["result"]:
     566                                        if change_config:
     567                                                self.change_config_file(profile,new_gdrive_folder)
    494568                                        result=self.mount_drive(profile,new_mountpoint)
    495                                
    496 
     569                        else:
     570                                if change_config:
     571                                        self.change_config_file(profile,new_gdrive_folder)                     
     572
     573                else:
     574                        if change_config:
     575                                if status["status"]:
     576                                        result=self.dismount_mountpoint(old_mountpoint,profile)
     577                                        if result["result"]:
     578                                                self.change_config_file(profile,new_gdrive_folder)
     579                                                result=self.mount_drive(profile,new_mountpoint)
     580                                else:
     581                                        self.change_config_file(profile,new_gdrive_folder)
     582               
     583
     584                               
    497585                if result["result"]:
    498586                        self.save_profiles(info)
     
    501589                        self.dprint(msg_log)
    502590
    503                
    504591                return {"result":result["result"],"code":result["code"]}               
    505592
     
    510597                result={}
    511598                status=self.check_mountpoint_status(mountpoint,True)
    512                 print status
    513599       
    514600                if status["status"]==None:
     
    519605                        if current_status!=None and status['status']==current_status:
    520606                                if status['status']:
    521                                         result=self.dismount_mountpoint(profile,mountpoint)
     607                                        result=self.dismount_mountpoint(mountpoint,profile)
    522608                                else:
    523                                         result=self.mount_drive(profile,mountpoint)
     609                                        if not status['error']:
     610                                                result=self.mount_drive(profile,mountpoint)
     611                                        else:
     612                                                result['result']=False
     613                                                result['code']=18
     614                                                return result,status
    524615                       
    525616                        else:
     
    528619                               
    529620                        status=self.check_mountpoint_status(mountpoint)
    530                
    531                 print result
    532                 return result,status           
     621                        if status['error']:
     622                                result['result']=False
     623                                result['code']=18
     624               
     625                return result,status   
     626
    533627                #result["result"]:result["result"]
    534628                #result["code"]:result["code"]
     
    537631        #def_sync_profile       
    538632
     633        def read_mountpoint_directory(self,profile):
     634
     635                result={}
     636                result['result']=True
     637                path_orig=GDRIVE_CONFIG_DIR+profile+"/config"
     638                path_tmp=GDRIVE_CONFIG_DIR+profile+"/config_tmp"
     639                create_tmp=False
     640                copy_config=False
     641                directory=[]
     642               
     643
     644                mountpoint=self.profiles_config[profile]["mountpoint"]
     645                       
     646               
     647                try:
     648                        root_folder=self.profiles_config[profile]["root_folder"]
     649                except Exception as e:
     650                        root_folder=False
     651               
     652
     653                status=self.check_mountpoint_status(mountpoint)
     654
     655                if status["status"]:
     656                        if root_folder:
     657                                create_tmp=True
     658                                copy_config=True
     659
     660                else:
     661                        create_tmp=True
     662                        if root_folder:
     663                                copy_config=True
     664
     665               
     666                if copy_config:
     667                        if os.path.exists(GDRIVE_CONFIG_DIR+profile):
     668                                if os.path.exists(path_orig):
     669                                        os.rename(path_orig,path_tmp)
     670                                if platform.architecture()[0]=='64bit':
     671                                        shutil.copy(LLIUREX_CONFIG_FILE_64,path_orig )
     672                                else:
     673                                        shutil.copy(LLIUREX_CONFIG_FILE_32,path_orig )
     674
     675                if create_tmp:
     676                                                                       
     677                        if status['status']:
     678                                cmd=self.clean_cache%profile
     679                                os.system(cmd)
     680                       
     681                        tmp_mountpoint=tempfile.mkdtemp('_Gdrive')                                     
     682                        result=self.mount_drive(profile,tmp_mountpoint)
     683                               
     684                        mountpoint=tmp_mountpoint
     685
     686               
     687                if result['result']:
     688
     689                        self.gdrive_path=[]
     690                        self.read_gdrive_folder=True
     691
     692                        for base,dirs,file in os.walk(mountpoint):
     693                                if 'Trash' not in base:
     694                                        if 'shared' not in base:
     695                                                if base !=mountpoint:
     696                                                        directory.append(base)
     697
     698                        directory=sorted(directory)
     699                       
     700                        self.gdrive_path.append('')
     701
     702                        for item in directory:                 
     703                                path=os.path.relpath(item,mountpoint)
     704                                self.gdrive_path.append(path)
     705
     706
     707                        if create_tmp:
     708                       
     709                                if copy_config:
     710                                        os.rename(path_tmp,path_orig)
     711                                       
     712                                result=self.dismount_mountpoint(mountpoint,profile)
     713
     714                                if result['result']:
     715
     716                                        shutil.rmtree(mountpoint)
     717                       
     718                else:
     719                        if copy_config:
     720                                os.rename(path_tmp,path_orig)
     721
     722                cmd=self.clean_cache%profile
     723                os.system(cmd)         
     724               
     725                return self.gdrive_path
     726
     727        #def read_mountpoint_directory 
     728
     729
     730        def change_config_file(self,profile,gdrive_folder):
     731
     732                       
     733                file=GDRIVE_CONFIG_DIR+profile+"/config"
     734
     735
     736                old_config=open(file,'r')
     737                params=[]
     738                cont=0
     739                for line in old_config:
     740                        if 'root_folder' in line:
     741                                line='root_folder='+'/'+gdrive_folder.encode("utf-8")+'\n'     
     742                                cont=cont+1
     743                        params.append(line)
     744                               
     745               
     746                if cont==0:
     747                        line='root_folder='+'\n'
     748                        params.append(line)             
     749               
     750                old_config.close()
     751               
     752                new_config=open(file,'w')
     753
     754                for item in params:
     755                        new_config.write(item)         
     756 
     757                new_config.close()
     758
     759        #def change_config_file
     760
    539761        def log(self,msg):
    540762               
Note: See TracChangeset for help on using the changeset viewer.