рд╢реБрджреНрдз QML рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд▓рд╛рд╕реНрдорд╛рдЗрдб

рдЫрд╡рд┐

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реБрджреНрдз QML рдореЗрдВ рдкреНрд▓рд╛рд╕реНрдорд╛рдЗрдб рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдм рдкрд░ рдПрдХ рднреА рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдЗрд╕ рдХрдореА рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред

рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдПрдХ рд╕рд╛


рдкреНрд▓рд╛рд╕реНрдореЙрдЗрдб рдкреНрд▓рд╛рдЬреНрдорд╛ рд╢реЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬреЗрдЯ рд╣реИ рдЬреЛ рдХреЗрдбреАрдИ 4 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдХреЗрдбреАрдИ 4 рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЪрд░рдг рдореЗрдВ, рд╕рднреА рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдб рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реА ++ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдереЗ, рдлрд┐рд░ рдЕрдЬрдЧрд░ рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рд╕реА ++ рдореЗрдВ, рдпрд╣ рдХрд╣рдирд╛, рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ (рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг, рднрд╛рд╖рд╛ рдХреА рд╕рднреА рдореВрд▓ рдмрд╛рддреЛрдВ рдХрд╛ рдЬреНрдЮрд╛рди, рдЖрджрд┐), рдЕрдЬрдЧрд░ рдореЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдЖрд╕рд╛рди рдерд╛ред рдЪреВрдБрдХрд┐ KDE Qt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ Qt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ (рдХрдо рд╕реЗ рдХрдо KDE рдореЗрдВ рд╡реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐)ред рдЬрдм QML рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рддреЛ KDE рдиреЗ рддреБрд░рдВрдд QML + JS + C ++ рдореЗрдВ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдбреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рджрд┐рдпрд╛, рдФрд░ рдЕрдм рд╡реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ QML рдореЗрдВ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдбреНрд╕ рдмрдирд╛рдиреЗ рдкрд░ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВред

рдПрдХ рд╣рдм рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдпрдерди рдФрд░ рд╕реА ++ рдореЗрдВ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдбреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреЛрд╕реНрдЯ рдереЗ, рдЕрдм рдХреНрдпреВрдПрдордПрд▓ рдХреЗ рд▓рд┐рдП рдмрд╛рд░реА рдЖ рдЧрдИ рд╣реИред рд▓реЗрдХрд┐рди рдкреЛрд╕реНрдЯ рдХреА рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ (рдореИрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ) рдХреЗрд╡рд▓ QML + JS + C ++ рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреНрд▓рд╛рд╕реНрдорд╛рдЗрдб рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдЙрднрд░рддреЗ рд╡рд┐рдЬреЗрдЯ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рднреА рдиреБрдХрд╕рд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ techbase.kde.org рдкрд░ QML plasmoids рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдореИрдВрдиреЗ рд▓рдЧрд╛рддрд╛рд░ # kde рдФрд░ # рдкреНрд▓рд╛рдЬреНрдорд╛ @ irc.freenode.net рдкрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рдХреА рдереАред рд╡реИрд╕реЗ, рд╡реЗ рд╕рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдФрд░ рд╣рдореЗрд╢рд╛ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдкрд╡рд╛рдж рдХреЗ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡реЗ рдХрд░реНрдо рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рдФрд░ рдореЛрдЯреЗ рдкреНрд▓рд╕ рд╣реИрдВред

рдЙрдкрдХрд░рдг


рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдЖрдк рдХрд┐рд╕реА рднреА рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреНрд▓реЗрд╕рдореЗрдЯ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ ред рдкреНрд▓рд╛рдЬрд╝реНрдорд╛рдЯ рдкреНрд▓рд╛рдЬреНрдорд╛ рдПрд╕рдбреАрдХреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдпрд╣ рдПрдХ рдорд┐рдиреА-рдЖрдИрдбреАрдИ (рдорд┐рдиреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреАрдбрд╝реЗ рд╣реИрдВ, рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреБрдХреНрдд рд╣реИ) рдЬреЛ рд╕рдм рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдкреНрд▓рд╛рдЬреНрдорд╛ рдХреЗ рд╕рд╛рде: рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдбреНрд╕, рд╡рд┐рдВрдбреЛ рд╕реНрд╡рд┐рдЪ (рдСрд▓реНрдЯ-рдЯреИрдм), рдХреЗрд╡рд┐рди рдЗрдлреЗрдХреНрдЯреНрд╕, рдкреНрд▓рд╛рдЬрд╝реНрдорд╛ рдереАрдо рдЖрджрд┐ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдмрдВрдЯреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

sudo apt-get install kde-sdk 

рдпрд╛ рдЗрд╕рд╕реЗ рднреА рд╕рд░рд▓:

 sudo apt-get install plasmate 


рд▓реЗрдХрд┐рди рдЙрдЪрд┐рдд рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдмрдВрдЯреВ-рдкреАрдкрд╛ рдмреИрдХрдкреЛрд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдкреНрд▓рд╛рд╕реНрдореЗрдЯ рдЪрд▓рд╛рдПрдВ, рдкреНрд▓рд╛рдЬреНрдорд╛ рд╡рд┐рдЬреЗрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рдо рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд▓рд╛рд╕реНрдореЙрдЗрдб рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ - рдорд╛рди рдЬреЛрдбрд╝реЗрдВ рдирд╛рдо , рд╕реЗрдЯ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕рдВрдкрд╛рджрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, " рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди " рдореЛрдб рдЪрд╛рд▓реВ рд╣реИ, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдореЙрдирд┐рдЯрд░ рд╣реИрдВ - рдПрдХ рдкрд░ рдЖрдк рдПрдХ рд╡рд┐рдЬреЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд┐рдбрд╝рдХреА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдкрд░ рдЖрдк рдХреЛрдб рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рддреЛ рдлрд┐рд░ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкред

рдкреНрд▓рд╛рдЬреНрдорд╛ QML рдШрдЯрдХ


рдлрд┐рд▓рд╣рд╛рд▓, рдХрд┐рд╕реА рднреА рджреГрд╢реНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд▓рд╛рдЬреНрдорд╛ рдШрдЯрдХ рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рджреГрд╢реНрдп, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд )ред

рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ http://api.kde.org , рдЕрд░реНрдерд╛рддреН рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдкреНрд▓рд╛рдЬрд╝реНрдорд╛рдЯреЗрдХреНрд╕реНрдЯреНрд░рд╛рдХрдореНрдкрд░реНрд╕ рдФрд░ рдкреНрд▓рд╛рдЬрд╝реНрдорд╛рдХрдВрдкрд░реНрд╕рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдЕрдВрддрд┐рдо рдПрдХ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд╡рд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд▓рд╛рд╕реНрдореЗрдЯ рдореЗрдВ рдПрдХ рдкреНрд▓рд╛рд╕реНрдорд╛рдЗрдб рдмрдирд╛рддреЗ рд╕рдордп, рднрд╡рд┐рд╖реНрдп рдХрд╛ рд╡рд┐рдЬреЗрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдореИрдВ рдЕрднреА рд╕реЗ рд╡рд░реНрдХрдкреАрд╕ рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдЖрд╡рд╢реНрдпрдХ рдЖрдпрд╛рдд рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ рдФрд░ i18n рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред рд╡реИрд╕реЗ, рдлрд┐рд▓рд╣рд╛рд▓ QtQuick 1.1 рдХреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Qt5 рдХреЛ QtQuick 2.0 рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ - рдкреНрд▓рд╛рд╕рдореЗрдЯ рдХрд╕рдо рдЦрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдирд╡реАрдирддрдо KDE рдореЗрдВ рдкреНрд▓рд╛рдЬреНрдорд╛ (рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 5.0 рд╕реЗ рдкрд╣рд▓реЗ) рдореЗрдВ QtQuick 2 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред

рддреЛ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд┐рдХреНрдд рдореЗрдВ рд╕рд░рд▓ "рд╣реИрд▓реЛ рджреБрдирд┐рдпрд╛" рджреЗрдЦрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ: рд╕рд┐рд╕реНрдЯрдо, рдХрдВрдкреНрдпреВрдЯрд░, рдФрд░ рдмрд╛рдХреА рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рднреА рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдмрд╕ рдКрдкрд░ рдХреЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИред рдФрд░ рдХреНрдпреВрдПрдордПрд▓ рдЪреВрдВрдХрд┐ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдЕрдХреНрд╕рд░ рд╕реА ++ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИ, рдпрд╣ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╣реИ - рд╕рднреА рдбреЗрдЯрд╛ рддрдерд╛рдХрдерд┐рдд рдбреЗрдЯрд╛рд╕реЛрд░реНрд╕ рдФрд░ рдбреЗрдЯрд╛рдмрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред

DataSource CML рд╕реЗ QML рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдПрдХ рд╕рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо QML рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди C ++ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдлреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ DataEngine рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА (рд╕рдордп) рдХреЛ рдЙрди рд╕рднреА plasmoids рдХреЛ рдЖрдкреВрд░реНрддрд┐ рдХрд░реЗрдЧрд╛ рдЬреЛ рдЗрд╕реЗ рд╕реНрд░реЛрдд ( DataSource ) рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реИрд╕реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ plasmoids рдХреЛ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

DataEngine рд╕рдорд╛рди C ++ рдХреЛрдб рд╣реИ рдЬреЛ QML рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдХреЗрдбреАрдИ рдХреЗ рд╡рд┐рд╢реЗрд╖ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ, рдпрджрд┐ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдФрд░ рд╡реИрд╕реЗ, DateEngine рди рдХреЗрд╡рд▓ C ++ рдореЗрдВ рднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЕрдкрдиреЗ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╕рдордЭрд╛рдКрдВрдЧрд╛ - KFilePlaces (https://bugs.kde.org/show_bug.cgi?id=180139)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╣ рдЕрднреА рддрдХ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓реНрдлрд╝рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдпрд╣ рдкреНрд▓рд╛рд╕реНрдореЛрдЗрдбреНрд╕ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдЗрд╕ рдЖрдЯреЗ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рд╣реИред

рдкреНрд▓рд╛рд╕реЙрдЗрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг "рд╕реНрдерд╛рди"


рдореМрдЬреВрджрд╛ DataEngine рдХрд╛ рдЕрд╡рд▓реЛрдХрди

рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯреНрд╕ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдПрдХ рдкреНрд▓рд╛рд╕реНрдорд┐рдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рджреЛ рдЪреАрдЬреЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ: рдпрджрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ - рд╕реВрддреНрд░реЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЙрд▓реНрдлрд╝рд┐рди рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ) рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЙрд╕ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд DataEngine рдХреА рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ)ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд▓рд╛рдЬреНрдорд╛ рдЗрдВрдЬрди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ:

 plasmaengineexplorer 


рдПрдХ рдЫреЛрдЯреА рд╕реА рдЦрд┐рдбрд╝рдХреА рдирд┐рдХрд▓реЗрдЧреА, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ, DataEngine рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╕рднреА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд╡рд╢реНрдпрдХ DataEngine "рд╕реНрдерд╛рдиреЛрдВ" рд╣реИред рд╕реВрдЪреА рд╕реЗ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдПрдХ рдкреЗрдбрд╝-рдЬреИрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдЬрд┐рд╕реЗ рдпрд╣ "рдЗрдВрдЬрди" рдмрд╛рд╣реНрдп рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


рдпрд╣рд╛рдБ 0 рд╕реЗ 11 рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ Datasourcesред рдпрд╣ рд╕рд░рдгреА рд╕рднреА рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╣реИрдВред QML рдореЗрдВ рдЗрд╕ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:

 PlasmaCore.DataSource { id: placesDataSource engine: "places" interval: 1000 connectedSources: sources } 


рдпрд╣рд╛рдБ рд╕реНрд░реЛрдд рдпреЗ рд╕рднреА рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд 0 рд╕реЗ 11 рддрдХ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдПрдХ рд╕рд░рдгреАред рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

 PlasmaCore.DataSource { id: placesDataSource engine: "places" interval: 1000 connectedSources: ["0", "2", "11"] } 


рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рд╕рднреА рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо "рд╕реНрд░реЛрдд" рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред

рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕рдХрд╛ рддреБрд░рдВрдд рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ; рдЖрдкрдХреЛ рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ " DataModel " рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдмрд╕ DataSource рд╕реЗ рдбреЗрдЯрд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ DataModel рдмрдирд╛рдирд╛ рднреА рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

 PlasmaCore.DataModel { id: placesDataModel dataSource: placesDataSource } 


рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рддрддреНрд╡реЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛

рддреЛ, рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдорд┐рд▓рд╛ред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛ (рдЪрд░) рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рд╕рднреА рдЫрд┐рдкреЗ рд╣реБрдП рддрддреНрд╡реЛрдВ ( рдЫрд┐рдкреЗ рд╣реБрдП : рдЭреВрдареЗ рдкреИрд░рд╛рдореАрдЯрд░) рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдбреЗрд╡рд┐рд╕ рдкреИрд░рд╛рдореАрдЯрд░ (рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рд╕реНрдерд╛рди) рджреНрд╡рд╛рд░рд╛ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо PlasmaCore.SortFilterModel рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

 PlasmaCore.SortFilterModel { id: sortedEntriesDataModel filterRole: "isDevice" filterRegExp: "false" sourceModel: PlasmaCore.SortFilterModel { sourceModel: placesDataModel filterRole: "hidden" filterRegExp: "false" sortRole: "isDevice" sortOrder: "AscendingOrder" } } 


рдпрд╣рд╛рдБ, SortRole рд╡рд╣ рдЪрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЫрдБрдЯрд╛рдИ рдХреА рдЬрд╛рдПрдЧреА, SortOrder рдХреНрд░рдо рд╣реИ; filterRole рд╡рд╣ рдЪрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрд╛рдиреА, рд╕рднреА рдЕрдиреБрдЪрд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛), рдФрд░ filterRegExp рд╡рд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬрд┐рд╕рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдПрдЧреАред рдПрдХ рдХреИрдЪ рд╣реИ: рдпрджрд┐ рдЖрдк "рдЖрдЗрдбрд╡рд╛рдЗрд╕" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдФрд░ рдХрд╛рд░рдг рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ SortFilterModel рддрддреНрд╡ рдХреЛ рд▓рдкреЗрдЯрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ "рд╣рд┐рдбрди" рд╡реЗрд░рд┐рдПрдмрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

PlasmaCore.SortFilterModel, PlasmaCore.DataModel рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╕рдВрдЧрдд рд╣реИрдВред

рдПрдХ рджреГрд╢реНрдп рд╕реВрдЪреА рдмрдирд╛рдПрдБ

рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдкреНрд▓рд╛рдЬрд╝реНрдорд╛рдПрдХреНрд╕реНрдЯреНрд░рд╛ рд╕реЗ рд╕реНрдХреНрд░реЙрд▓рдПрд░рд┐рдпрд╛ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдпрд╣ рд▓рдЧрднрдЧ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд╣рд╛рдВ рдмрдЪреНрдЪреЗ рдХреЗ рдЖрдпрд╛рдо рдЕрдЬреНрдЮрд╛рдд рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ:
  1. рдЪрдВрдЪрд▓ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реИред рд╕рд╛рдордЧреНрд░реА рдХреЛ рди рдХреЗрд╡рд▓ рд╕рд╛рдЗрдбрдмрд╛рд░ рджреНрд╡рд╛рд░рд╛ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдорд╛рдЙрд╕ рдпрд╛ рдЯрдЪ-рд╕реНрдХреНрд░реАрди рдЗрд╢рд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рднреАред
  2. рдпрд╣ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдЕрдиреНрдп рдкреНрд▓рд╛рдЬреНрдорд╛ рд░рдирдЯрд╛рдЗрдо рдШрдЯрдХреЛрдВ рд╕реЗ рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХреЗ рд░реИрдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЖрдЗрдЯрдо / рдкреГрд╖реНрда рдмрдирд╛рдирд╛ , рдЖрджрд┐ред рдкреНрд▓рд╛рдЬрд╝реНрдорд╛рдХреЙрд░реНрдкреЗрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рдеред рдХреНрд░реЙрд▓рдмрд╛рд░ ред


рд╣рдо рдмрдирд╛рддреЗ рд╣реИрдВ:

 PlasmaExtras.ScrollArea { id: entriesScrollArea anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.horizontalCenter: plasmoidItem.horizontalCenter height: 40 * (entriesListView.count + 1) flickableItem: ListView { 


рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рджреГрд╢реНрдп рдкрд░ рд░реЛрдХ рджрд┐рдпрд╛ рд╣реИ: рдлрд╝реНрд▓реАрдХреЗрдмрд▓ рдЗрдЯреЗрдо рддрддреНрд╡ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ / рдЕрдЧрд░ рдпрд╣ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ / рдпрд╛ рдКрдВрдЪрд╛рдИ (рд╣рдорд╛рд░реЗ рд╕реНрдХреНрд░реЙрд▓рдПрдпрд░) рддрддреНрд╡ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрдХреНрд░реАрди рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдкреЙрдЗрд▓рд░ рдореЗрдВ рд╕реВрдЪреА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛:
рд╕реВрдЪреА рдирд┐рд░реНрдорд╛рдг
 PlasmaExtras.ScrollArea { id: entriesScrollArea anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.horizontalCenter: plasmoidItem.horizontalCenter height: 40 * (entriesListView.count + 1) flickableItem: ListView { id: entriesListView highlightRangeMode: ListView.NoHighlightRange orientation: ListView.Vertical focus: true clip: true model: sortedEntriesDataModel delegate: listViewItemTemplate header: PlasmaComponents.Switch { id: entriesHeaderSwitch anchors.top: parent.top anchors.left: parent.left anchors.right: devicesHeaderLabel.left text: i18n("Places") checked: true } highlight: Rectangle { id: highlightListViewItem anchors.left: parent.left color: "lightgrey"; radius: 6; opacity: 0.6 } } } 



рдореИрдВ рдпрд╣рд╛рдБ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрд┐рдВрджреБ рдирд╣реАрдВ рджреЗрдЦрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪреА QML рдХреА рдирд┐рдпрдорд┐рдд рд╕реВрдЪреА рджреГрд╢реНрдп рддрддреНрд╡ рд╣реИ, рдЬрд┐рд╕рдХреА рд╢реБрд░реБрдЖрдд QtQuick 1.0 рд╕реЗ рд╣реЛрддреА рд╣реИ ред
рдЖрдЧреЗ рдмрдврд╝реЛред

рд╕реВрдЪреА рдорджреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмрдирд╛рдирд╛

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рд▓ рдХрджрдо рдкрд░ рдзреНрдпрд╛рди рдХреНрдпреЛрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрд▓реАрдЧреЗрдЯ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рддрддреНрд╡ рдкреНрд▓рд╛рдЬрд╝реНрдорд╛.рдХреЙрдордкрд░реНрд╕рд▓рд░реНрд╕ рд▓рд┐рд╕реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЖрдЗрдЯрдо рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рдХрдВрдЯреЗрдирд░ (рдПрдХ ListItem рдирд╣реАрдВ) рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдЖрдЗрдЯрдо рдвреЗрд░ рдореЗрдВ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдХрд╛рд╢, рдХрд╣реАрдВ рдЗрд╕ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ!

рдЕрдЧрд░ рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдХрд┐рдпрд╛, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:
рдХреЛрдб
 import QtQuick 1.1 import org.kde.locale 0.1 import org.kde.plasma.components 0.1 as PlasmaComponents import org.kde.plasma.core 0.1 as PlasmaCore import org.kde.plasma.extras 0.1 as PlasmaExtras Item { width: 200 height: 300 PlasmaCore.DataSource { id: placesDataSource engine: "places" interval: 1000 connectedSources: sources } PlasmaCore.DataModel { id: placesDataModel dataSource: placesDataSource } PlasmaCore.SortFilterModel { id: sortedEntriesDataModel filterRole: "isDevice" filterRegExp: "false" sourceModel: PlasmaCore.SortFilterModel { sourceModel: placesDataModel filterRole: "hidden" filterRegExp: "false" sortRole: "isDevice" sortOrder: "AscendingOrder" } } Component { id: listViewItemTemplate PlasmaComponents.ListItem { id: placeListItem anchors.left: plasmoidItem.left anchors.right: plasmoidItem.right x: 20 height: 40 Item { id: listItemObject anchors.left: plasmoidItem.left anchors.right: plasmoidItem.right PlasmaCore.IconItem { id: placeIconItem anchors.left: parent.left anchors.leftMargin: 5 source: icon } PlasmaComponents.Label { id: placeNameLabel anchors.left: placeIconItem.right anchors.leftMargin: 10 text: name font.pointSize: 12 } PlasmaComponents.ProgressBar { id: placeFreeSizeProgressBar anchors.top: placeNameLabel.bottom anchors.left: placeNameLabel.left width: placeNameLabel.width height: 10 value: kBUsed / kBSize opacity: 0 } } } } PlasmaExtras.ScrollArea { id: entriesScrollArea anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.horizontalCenter: plasmoidItem.horizontalCenter height: 40 * (entriesListView.count + 1) flickableItem: ListView { id: entriesListView highlightRangeMode: ListView.NoHighlightRange orientation: ListView.Vertical focus: true clip: true model: sortedEntriesDataModel delegate: listViewItemTemplate header: PlasmaComponents.Switch { id: entriesHeaderSwitch anchors.top: parent.top anchors.left: parent.left anchors.right: devicesHeaderLabel.left text: i18n("Places") checked: true } highlight: Rectangle { id: highlightListViewItem anchors.left: parent.left color: "lightgrey"; radius: 6; opacity: 0.6 } } } } 

рдпрд╛ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ):


рдХреЛрдб рдХреЛ рдЪрд┐рдкрдХрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреНрд▓рд╛рд╕реНрдореЗрдЯ рдореЗрдВ рдЪрд┐рдкрдХрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреЛрд╕реНрдЯ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рдереА, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдирд╛ рдерд╛!


рдорджрдж
# рдкреНрд▓рд╛рдЬреНрдорд╛ , # kde @ irc.freenode.net


PS рдореИрдВ рдмрдЧ рдХреЛ рдЙрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ "рд╕рдВрд░реЗрдЦрд┐рдд: 'рдХреЗрдВрджреНрд░' рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ - рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдкрд╛рда рднреА рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ \ n рдХреЗ рдмрд╛рдж рднрдЯрдХ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, \ n" \ _ \ _ \ _ \ _ \ _ \ _ рдХреЗ рдмрд╛рдж рднрдЯрдХ рдЬрд╛рддрд╛ рд╣реИ, "рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореЗрд░рд╛ рдкрдж рднрд░рд╛ рд╣реБрдЖ рджрд┐рдЦрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In185266/


All Articles