cddlmZddlZdejvsdejvs ed ddlZejddddlmZejd d dd lmZejd d ddlm Z ejddddlm Z ejdd ddlm Z ejddddlm Z ej dn#e$r edwxYwddlZddlZddlZddlmZddlZddlZddlZddlmZmZmZddlmZddlmZdZdZda dZ!dZ"d Z#d!Z$ej%d"Z&d#Z'd$Z(dqd&Z)d'Z*Gd(d)e j+Z,Gd*d+e,Z-Gd,d-e,Z.Gd.d/e j+Z/Gd0d1e0Z1Gd2d3e0Z2Gd4d5e j3ej4Z5Gd6d7e j+Z6Gd8d9ej4Z7Gd:d;e8Z9Gd<d=e0Z:Gd>d?e:Z;Gd@dAe;Z<GdBdCe;Z=GdDdEe=Z>GdFdGe;Z?GdHdIe;Z@GdJdKe@ZAGdLdMe;ZBGdNdOe@ZCGdPdQe;ZDGdRdSe;ZEGdTdUe;ZFGdVdWeFZGGdXdYe;ZHGdZd[e;ZIGd\d]e;ZJGd^d_e;ZKGd`dae jLZMGdbdce:e jNZOGdddee:e jNZPGdfdge:e jQZRdhZSdiZTdjZUe=e>eBeCeDeFeEeGeHeIeAeJe?dk ZVeOeRePdlZWdmZXdnZYdoZZdpZ[dS)r)UINotImportableNDISPLAYWAYLAND_DISPLAYz7No graphical display detected, falling back to text UI.GLibz2.0)rPangoz1.0)rGdkz3.0)r GdkPixbuf)r Gtk)r GtkSource4)r cairoz?Please install the reportbug-gtk package to use this interface.)Queue) NoPackageNoBugs QuertBTSError)debbugs)launch_browserTz"/usr/share/pixmaps/debian-logo.pngcT|tkrdS|tkrdSt|S)Nzz!) ui_contextreportbug_contextrepr)contexts 5/usr/lib/python3/dist-packages/reportbug/ui/gtk_ui.py_describe_contextrOs1*++ % % %22G}}ctj}||kr/tdt |dt ||stddS)NzFunction should be called in z but was called in z*Function should be called with %s acquired)r MainContextref_thread_defaultAssertionErrorris_owner)expectedreallys r_assert_contextr#Xs   0 0 2 2Fn/9999;LV;T;T;TVWW W ??  KIJJJKKrcftjtjtjdSN)oskillgetpidsignalSIGINTrr_exitr,ds"GBIKK'''''rc d|zS)N %sr+ss r highlightr1hs ?rz<.*?>c8td|SN)re_markup_freesubr/s r markup_freer7os   b! $ $$rcV|}|ddvr |ddS|S)N)?:)stripr/s rask_freer=ss0  Au "v HrFc^tttj}|tjj|tjj tjj |r| |n| ||Sr%) r#rr ScrolledWindowset_shadow_type ShadowType ETCHED_IN set_policy PolicyType AUTOMATICadd_with_viewportadd)widget with_viewportscrolleds rcreate_scrollablerKzsJ!##H S^5666 0#.2JKKK""6**** V Orcftttjttjjtjjztjj tj j |}| dd| d|dS)Nresponsec*|Sr%destroy)dargss rzinfo_dialog..s r Reportbug)r#rr MessageDialog assistant DialogFlagsMODALDESTROY_WITH_PARENT MessageTypeINFO ButtonsTypeCLOSEconnect set_titleshow_all)messagedialogs r info_dialogrcsJ  y#/*?#/Be*e"3S_5JGUUF NN:;;<<< [!!! OOrceZdZdZdS) CustomDialogc:tttj|dt tjjtjjz|| |d| dtj d}| d|j |dddtjd}| |d ddtjd d d d }| |d ddtj|tjj} | | dddtj| } | d| tjj| d| dd | | d dd|j|g|Ri|dS)NrTr9 spacingTrFg?g?)xalignyalignxscaleyscalelabel can-focus)r#rr Dialog__init__rVrWrXrYset_default_responseset_border_widthVBoxvbox pack_startHBox AlignmentImagenew_from_stockIconSizeDIALOGLabel set_line_wrap set_justify JustificationFILLset_selectable set_property setup_dialog) self stock_imagerabuttonsrRkwargsrxhboxalignimagerqs rrtzCustomDialog.__init__s ### D+yO1CO4WW# % % % !!'"+... a   x### a    T4q111x### eT1---  SSMMM udA... ((cl6IJJ tT1--- ((( D!!! #+0111 T""" ;... udA...$000000000rN__name__ __module__ __qualname__rtr+rrreres#!1!1!1!1!1rrec eZdZdZdZdZdS)InputStringDialogc ttt|tj|tjtjjtj tjj fdSr%) r#rrertr STOCK_DIALOG_INFO STOCK_CANCEL ResponseTypeCANCELSTOCK_OKACCEPT)rras rrtzInputStringDialog.__init__sa ###dC$97"/1A1H"|S-=-DF G G G G Grctttj|_||jddddS)NFTr)r#rr Entryentryryrrxs rrzInputStringDialog.setup_dialogs= ###Y[[   E433333rc\tt|jSr%r#rrget_textrs r get_valuezInputStringDialog.get_value$ ###z""$$$rN)rrrrtrrr+rrrrsDGGG 444 %%%%%rrcLeZdZedZedZdZdZdZdS)ExceptionDialogc>ttfd}|S)Nc r |||tjdt j|||dSr3) applicationrun_once_in_main_thread start_dialogjoin tracebackformat_exception)exctypevaluetbclsoldhooks r excepthookz5ExceptionDialog.create_excepthook..excepthooksl ,+++  / /0@02 8RSZ\ace8f8f0g0g i i i i irr#r)rrrs`` rcreate_excepthookz!ExceptionDialog.create_excepthooks?)*** i i i i i irctt ||}|dS#t$rt YdSwxYwr%)r#rr` Exceptionr,)rrrbs rrzExceptionDialog.start_dialogsb ### SWWF OO         GGGGGG s7AActtt|tjdtjtjjf|dS)NzSAn error has occurred while doing an operation in Reportbug. Please report the bug.) r#rrertr STOCK_DIALOG_ERROR STOCK_CLOSErr])rrs rrtzExceptionDialog.__init__su ###dC$:=SVYVegjgwg}U~@B C C C C Crctjd}||dddtj}|d||t|}| || d|j dS)Nz More detailsTrFrM) r Expandernew_with_mnemonicryTextView set_editable get_bufferset_textrKrGr^ on_response)rrxrexpanderviewrJs rrzExceptionDialog.setup_dialogs<11.AA $a000|~~ %    ""2&&&$T** X Z!122222rcJtttdSr%r#rr,rrbress rrzExceptionDialog.on_response ### rN) rrr classmethodrrrtrrr+rrrrsx  [ [CCC 3 3 3rrceZdZdZdZdS)ReportViewerDialogc tttj|dt tjjtjjztj tj j tj tj j f||_|dd|tj j |d|d|jtj}||j|jt3|ddd|dS)NrTrkrMTr)r#rr rsrtrVrWrXrY STOCK_COPYrAPPLYrr]raset_default_sizerurvr^rrrrrxryrKr`)rrars rrtzReportViewerDialog.__init__s* ### D+yO1CO4WW ^S-=-C _c.>.DF G G G  c3''' !!#"2"8999 a    Z!1222|~~ ""4<000 .t44dD!DDD rc tt|tjjkrFtjtj}| |j ddS| dS)Nr9) r#rr rr ClipboardgetrSELECTION_CLIPBOARDrrarP)rrbr clipboards rrzReportViewerDialog.on_responsesj ### #"( ( ( ))#*ABBI   t|R 0 0 0 0 0 LLNNNNNrN)rrrrtrr+rrrrs2&rrceZdZdZdZdZdS)Bugz(Encapsulate a bug report for the GTK+ UIcZ|j|_d|j|_|j|_|j|_|j|_ |j |_ |j |_ d|j |_ |j |_|j|_|j|_dS)Nz, )bug_numidrtagstagpackagependingstatus originatorreporterdateseverityfound_versionsversion filed_date log_modified modified_datesubjectinfo)rbugs rrtz Bug.__init__s+99SX&&{ k  H   yy!344 ( -K rc#K|jV|jV|jV|jV|jV|jV|jV|jV|jV|j V|j VdSr%) rrrrrrrrrrrrs r__iter__z Bug.__iter__"sg hlikmimlo      rN)rrr__doc__rtrr+rrrrs822     ! ! ! ! !rrc:eZdZdZdZdZdZdZd dZd Z d S) BugReportc$|d}d}g|_|t|kre||}|dz }|snC|j||drn|t|ked}g}d}|t|krl||}|||dz }|s |dkr|dz }U|dkr|dks|dkrd }nd}|t|kl|rId|dd |_d||dz d|_dSd|dd |_d |_dS) N rzSubject:Fz-- Package-specific info:z-- System Information:Tr4) splitheaderslenr<append startswithr original_infoothers)rralinesilinestorer has_others rrtzBugReport.__init__1s d##  #e**nn8D FA::<<  L   % % %z** #e**nn #e**nn8D KK    FA::<< 199QJEzzt'BBBdNfFfFf E#e**nn  !%49!5!5D ))E!a%&&M22DKKK!%49!5!5D DKKKrc|jSr%)rrs r get_otherszBugReport.get_othersVs {rc|jSr%)rrs rget_original_infozBugReport.get_original_infoYs !!rcT|jD]}d|vr|tddcS dSNSubject Subject: )rr)rheaders r get_subjectzBugReport.get_subject\sLl 1 1FF""c+..//0000# 1 1rctt|jD]!}d|j|vrd|z|j|<dS"dSr )rangerr)rrrs r set_subjectzBugReport.set_subjectasZs4<(())  ADLO++"-"7 Q,  rOFcd}d}|D]U}|r||dzz }|sd}#tj|||}|d|dzz }V|S)z8Wrap every line in the message, except the pseudoheadersr4TrF)widthbreak_long_words) splitlinesr<textwrapwrapr)rmsgrrbodypheadrtmps r wrap_bug_bodyzBugReport.wrap_bug_bodygsNN$$ * *D t #zz||"!E-E1ACCCC DIIcNNT) )DD rc |jrGdd|j|||jSdd|j||S)Nz {} {} {}rz{} {} )rformatrrrrrs rcreate_messagezBugReport.create_message{sx ; i!((4<)@)@$BTBTUYBZBZ\`\ghh h  4eZdZdZdZdZdZdZdZdZ dZ d S) BugPagec tttj|t j||dtj |_ ||_ ||_ |j j |_ ||_||_||_||_||_||_| |_d|_t jd} | t jddddt j|_|jd| |jddd|| dS) NT rizRetrieving bug information.rpFr{Gz?)r#r threadingThreadrtr EventBox setDaemonrrrrbrVrnumber queryonlybtsmirrors http_proxytimeoutarchived bug_statusrwryr ProgressBarprogressset_pulse_steprG) rrVrbr,r-r.r/r0r1r2rxs rrtzBugPage.__init__s= ###!!$''' d### t'))  ">5 " $   x###  (EFFFtUVWWW))  $$T***  udA666 rc|jstd|jt jd|jtjt|j |j |j |j |j|j}|s!|j|jdS|d|_|j|j|dS)Nz%Could not acquire my own main-contextrh)r/r0r2r)racquirerpush_thread_defaultr timeout_addpulser get_reportintr,r1r.r/r0r2rr not_foundr3foundr!s rrunz BugPage.runs|##%% J !HII I ((*** TZ(((!#dk"2"2DL"&(DL-1_t}VVV G   4 4T^ D D D D D"1gDO   4 4TZ F F F F Frctt|}|r+|||dSdSr%)r#r get_childremoveunparent)rchilds rdrop_progressbarzBugPage.drop_progressbarsY ###     KK    NN       rctt|j|Sr%)r#rr5r;is_alivers rr;z BugPage.pulses2 ### }}rctt||t jd|dS)Nz-The bug can't be fetched or it doesn't exist.rp)r#rrFrGr rr`rs rr>zBugPage.not_foundsS ###  !PQQQRRR rctt||dj}|d}t jd}|dt jd|z}|d| tj j | |dddt j}d}|D]}t j } | d| |dd |r%| tjjd| | ddd| }t)|d} | | dddt j} t jd } | d |j| | ddd|jst jd } | tjtjtjj| d |j | | ddd| | ddd|!||"dS) Nrrr&riz Description: rpTFi'zOpen in browserclickedReply)#r#rrFrr rwrvrrrrrryrrrrset_state_flags StateFlagsPRELIGHTrK HButtonBoxButtonr^on_open_browserr- set_imager|r} STOCK_EDITr~BUTTONon_replyrGr`) rrdescbodiesrxrqviewsoddrrrJbboxbuttons rr?z BugPage.founds ### Awax### b!!! $ 6777 D!!! #+0111 udA...   D<>>D   e $ $ $ OO   & &tFUF| 4 4 4 E$$S^%r?rRrVr+rrr$r$s:GGG$  (((TZZZ     rr$c eZdZdZdZdZdS) BugsDialogctttj|d|tjjtjjztjtj j f||_ ||_ |j |_ tj|_|j|jddd|d|j|dddS)NzReportbug: bug informationTrrMX)r#rr rsrtrWrXrYrrr]rVr-rNotebooknotebookrxryr^rr)rrVr-s rrtzBugsDialog.__init__s ### D"> O1CO4WW _c.>.DE G G G#"$0   T]D$::: Z!1222 c3'''''rc.|dSr%rOrrRs rrzBugsDialog.on_responses rct|j|||jg|R}|j|t j||dS)Nrp)r$rVr-ri append_pager rstart)rr,rRpages rshow_bugzBugsDialog.show_bugsWt~tVT^KdKKK !!$ (?(?(?@@@ rN)rrrrtrrpr+rrreresA ( ( (rrec8eZdZdZdZdZdZdZdZdZ dS) ReportbugApplicationctttj||dt |_d|_dSNT) r#rr(r)rtr+rqueue next_valuers rrtzReportbugApplication.__init__sP)***!!$''' tWW rctstdtt jdS)NzCould not acquire UI context)rr8rr9r mainrs rr@zReportbugApplication.run"sG!!## A !?@@ @&&(((  rc\tt|jSr%)r#rrurrs rget_last_valuez#ReportbugApplication.get_last_value*s#)***z~~rcztt|j|jd|_dSr%)r#rruputrvrs rput_next_valuez#ReportbugApplication.put_next_value.s1 ### t'''rc<tt||_dSr%)r#rrvrrs rraz#ReportbugApplication.set_next_value3s ###rcBfd}tj|dS)Nc@ttidSNFr#r)rRfuncrsrcallbackz>ReportbugApplication.run_once_in_main_thread..callback:s+ J ' ' ' D$ !& ! ! !5r)ridle_add)rrrRrrs ``` rrz,ReportbugApplication.run_once_in_main_thread7s@        hrcfd}tj|}t|tr||S)Nctt i}|n,#t$r}|Yd}~nd}~wwxYwdSr)r#rra BaseExceptionr})reterRrrrs rrz:ReportbugApplication.call_in_main_thread..callbackDs J ' ' ' )dD+F++##C((((! ' ' '##A&&&&&&&& '    ! ! !5s5 AAA)rrrz isinstancer)rrrRrrrs```` rcall_in_main_threadz(ReportbugApplication.call_in_main_threadAsm         h!!## c= ) ) IJrN) rrrrtr@rzr}rarrr+rrrrrrs}          rrrceZdZdZdS) SyncReturncrttt||||_dSr%)r#r RuntimeErrorrtresult)rrs rrtzSyncReturn.__init__\s2)***dF+++ rNrr+rrrr[s#rrceZdZdZdZdS)ReportbugConnectorc.ttdSr%rrrRrs rexecute_operationz$ReportbugConnector.execute_operationcs ### rc2tt||fSr%r)rrRrs rsync_pre_operationz%ReportbugConnector.sync_pre_operationis)***V|rN)rrrrrr+rrrrbs2   rrceZdZdZejjZdZe Z e j dZ dZdZdZdZdZd Zd Zd Zd Zd ZdZdZdS)PagerFz#fff8aec&tt||_|j|_||_||j_|jd|jtj |_ dS)Nrk) r#rrVr create_widgetrHrorvr`r next_page_numpage_num)rrVs rrtz Page.__init__vsw ###"$0((**   $$Q''' * rc^tt|||dd|_|dd|_|j|i||j | dS)Nempty_okFpresubj) r#r switch_inconnect_signalspoprrexecuterVshow setup_focusrs rrzPage.execute_operations ###   :u55 zz)U33  d%f%%%  rc.ttdSr%rrs rrzPage.connect_signals #####rcntt|j|j|dSr%)r#rrVset_page_completerH)rcompletes rrzPage.set_page_completes0 ### ((h?????rcntt|j|j|dSr%)r#rrV set_page_typerH)rtypes rrzPage.set_page_types0 ### $$T[$77777rcvtt|r"|j|j|dSdSr%)r#rrVset_page_titlerH)rtitles rrzPage.set_page_titlesB ###  > N ) )$+u = = = = = > >rctttxjdz c_|j|j|j||j | |j | d|j |jtj|j|j||jdS)NrrT)r#rrrrV insert_pagerHrrdefault_completer page_typerset_page_side_imager Pixbuf new_from_file side_image set_next_pagecommitrs rrzPage.switch_ins ### a ""4; >>> t4555 4>*** K((( **4; 8H8V8VW[Wf8g8ghhh $$T*** rc`tt|jdSr%)r#rrH grab_focusrs rrzPage.setup_focuss* ###      rctt|j|jr|jdSdSr%)r#rrVget_page_completerHrbrks ractivate_forwardzPage.activate_forwardsN ### > + +DK 8 8 * N ' ' ) ) ) ) ) * *rc.ttdSr%rrs r switch_outzPage.switch_outrrcZtt|jrdSt|Srt)r#rrboolrs ris_validz Page.is_valids+ ### = 4;; rc tt|}||r1|j||ddS|ddSNTF)r#rrrrrar)rrRrrs rvalidatez Page.validates~ ###   ==   *   + +E 2 2 2  " "4 ( ( ( ( (  " "5 ) ) ) ) )rN)rrrrr AssistantPageTypeCONTENTrr DEBIAN_LOGOrr color_parse WARNING_COLORrtrrrrrrrrrrrr+rrrrosM%-IJ#COI..M+++$$$@@@888>>>    !!! *** $$$*****rrc0eZdZejjZdZdZdS) IntroPageTctttjd}tjd}|d|d|tjj | |dddtj dd }| |ddd|S) Nria' Reportbug is a tool designed to make the reporting of bugs in Debian and derived distributions relatively painless. This wizard will guide you through the bug reporting process step by step. Note: bug reports are publicly archived (including the email address of the submitter).rpTFrz1https://salsa.debian.org/reportbug-team/reportbugzHomepage of reportbug project) r#rr rwrset_use_markuprrrrry LinkButtonnew_with_label)rrxrqlinks rrzIntroPage.create_widgets ###x### !bccc T""" D!!! #+0111 udA...~,,-`-LNN eT1--- rN) rrrr rINTROrrrr+rrrrs4%+Irrc.eZdZdZdZdZdZd dZdS) GetStringPagec`tt|jdSr%r#rrrrs rrzGetStringPage.setup_focus* ### rctttjd}tj|_|jd|jtjj |j d|j ddtj |_ ||jddd||j ddd|SNr&riTrrFr)r#rr rwrrqrrrrrrrrryrs rrzGetStringPage.create_widgets ###x###Y[[    &&& s05666 !!$'''  U333Y[[   E4333  E4333 rctt|jd|j|jd|jdS)Nchangedactivate)r#rrr^rrrs rrzGetStringPage.connect_signalssK ### 9dm444 :t'<=====rc\tt|jSr%rrs rrzGetStringPage.get_valuerrNFr4cltttj|jj|dd|j||r|tj }tj t}|D]}| |g|||d|d|j|nd|_|dS)Nz8(enter Ctrl+c to exit reportbug without reporting a bug)r4Tr)r#rrrrqrreplacersortr EntryCompletion ListStorestrr set_modelset_inline_selectionset_text_columnset_completion completionr)rpromptoptions force_promptdefaultrmodeloptions rrzGetStringPage.executes ### dj)6>>:tvx+y+yzzz G$$$  # LLNNN,..JM#&&E! ' ' fX&&&&   ' ' '  + +D 1 1 1  & &q ) ) ) J % %j 1 1 1 1"DO r)NFr4rrrrrrrrr+rrrrsd      >>> %%%rrceZdZdZdS)GetPasswordPagecttt|}|jd|Sr)r#rrrrset_visibilityrrHs rrzGetPasswordPage.create_widgets> ###,,T22 !!%((( rN)rrrrr+rrrrs#rrc,eZdZdZdZdZdZdZdS)GetMultilinePagec`tt|jdSr%r#rrrrs rrzGetMultilinePage.setup_focus* ### rcvtttjd}tj|_|jd|jtjj |j d|j dd| |jdddtj |_|j|_t#|j}| |ddd|Sr)r#rr rwrrqrrrrrrryrrrbufferrK)rrxrJs rrzGetMultilinePage.create_widget!s ###x###Y[[    &&& s05666 !!$'''  U333  E4333LNN i**,, $TY// $a000 rcntt|jd|jdSNr)r#rrr^rrs rrz GetMultilinePage.connect_signals1s0 ### It}55555rctt|j|j|jd}|dS)NTr)r#rrrget_start_iter get_end_iterrrtexts rrzGetMultilinePage.get_value5sX ###{##DK$>$>$@$@$+BZBZB\B\^bcczz$rcttd|_tj|jj||jd|jddS)NTr4r) r#rrrrrqrremitrrs rrzGetMultilinePage.execute:s` ###  dj)6222 R    #####rNrr+rrrrs_ 666   $$$$$rrc*eZdZdZdZdZdZdZdS)TreePageNctttj|g|Ri||j|_dSr%)r#rrrtr get_selection selectionrs rrtzTreePage.__init__FsI ### d,T,,,V,,,0022rc`tt|jdSr%rrs rrzTreePage.setup_focusKrrcntt|jd|jdSr)r#rrr^rrs rrzTreePage.connect_signalsOs0 ### y$-88888rctt|j\}}|jt jjk}g}|D]T}|| ||j }|"| t|U|r |s|dS|SNr) r#rrget_selected_rowsget_moder SelectionModeMULTIPLErget_iter value_columnrr7)rrpathsmultiplerpathrs rrzTreePage.get_valueSs ###~7799 u>**,,0A0JJ 2 2DOOENN4$8$8$:KLLE  k%00111  ( !9  r)rrrrrtrrrr+rrr r CsUL333 999     rr c6eZdZdZdZdZdZdZdZdZ dS) GetListPagerctttjd}tj|_|jd|jtjj | |jdddtj d}tj |_ |j d|j tjjt'|j }| |dddtj}|d|tjjtjtj}|d|j| |dddtjtj}|d|j| |ddd| |ddd| |ddd|S) Nr&riTFrrk)stockrK)r#rr rwrrqrrrrryrzTreeViewrset_rules_hintrset_moderrrK VButtonBox set_spacing set_layoutButtonBoxStyleSTARTrQ STOCK_ADDr^on_add STOCK_REMOVE on_remove)rrxrrJr[r\s rrzGetListPage.create_widgetds ###x###Y[[    &&& s05666  E4333x"""LNN    &&& !!**3+<+EFFF$TY// $a000~  *0111#-000y$+... tQ///#"2333y$.111 tQ/// eT1--- dD!,,, rcttg}|jD]"}|||j#|Sr%)r#rrrr)rvaluesrows rrzGetListPage.get_valuesH ###: 2 2C MM#d/0 1 1 1 1 rctttd}||d|jdS)NzAdd a new item to the listrM)r#rrr`r^on_add_dialog_response)rr\rbs rr+zGetListPage.on_addsK ###"#?@@z4#>?????rctt|tjjkrA|j|g|| dSr%) r#rr rrrrrrrPrs rr2z"GetListPage.on_add_dialog_responsesi ### #") ) ) J  v//112 3 3 3 MMOOOrc4tt|j\}}g}|D]/}||j|0|D]}|j||dSr%) r#rrrrrrrCr)rr\rritersriters rr-zGetListPage.on_removes ###~7799 u 4 4D LL,,T22 3 3 3 3 $ $D J  d # # # # rcttd|_tj|jj|tjt|_ |j d|j |j |j |jtjj|j tjdtjddS)NTz row-changedItemrr)r#rrrrrqrr rrrr^rrrrr$rr append_columnTreeViewColumnCellRendererTextr s rrzGetListPage.executes ###  dj)6222]3''  =$-888 DJ'''  1 :;;;  263;O;Q;QXY Z Z Z[[[[[rN) rrrrrrr+r2r-rr+rrrras{L<@@@     \ \ \ \ \rrcTeZdZdZdZdZdZdZdZdZ dZ dd Z d Z d Z d S)MenuPagercXtttj|g|Ri|dSr%)r#rrrtrs rrtzMenuPage.__init__s6 ### d,T,,,V,,,,,rc`tt|jdSr%rrs rrzMenuPage.setup_focusrrctttjd}tj|_|jd|jtjj | |jdddtj |_ |j }|tjt!||tjj||tjj|_t!||tjj||tjj|_|j |_|jtjj|j dtj|_ tC|j }|"tj#j$tj#j%| |ddd|&|S)Nr&riTFr)selectednormal)'r#rr rwrrqrrrrryr"rget_style_context add_classSTYLE_CLASS_CELLdict_rgba_to_stringget_background_colorrNSELECTEDNORMAL background get_color foregroundrrr$rNONEset_activate_on_single_clickCellRendererTogglechkboxrKrCrDNEVERALWAYSr`)rrx style_contextrJs rrzMenuPage.create_widgets* ###x###Y[[    &&& s05666  E4333LNN  3355  4555))-*L*LS^Md*e*eff'' (J(J3>K`(a(abbddd))-*A*A#.BY*Z*Z[['' (?(?@U(V(VWWYYY0022  1 6777 ..t444,.. $TY//CN0#.2GHHH $a000  rcttt||jd|jdS)N row-activated)r#rrrrr^ on_togglers rrzMenuPage.connect_signalssD ### T""" /4>:::::rcttg}|jD]7}|dr-|t ||j8t |dkr|js|dS|Sr)r#rrrr7rrr)rrr0s rrzMenuPage.get_values| ###: C CC1v C k#d.?*@AABBB v;;??4=?!9  rcdt|jdzt|jdzt|jdzS)Nz#{:02x}{:02x}{:02x})r r=redgreenblue)rrgbas rrHzMenuPage._rgba_to_stringsP$++C3,?,?,/ S0@,A,A,/ C,@,@BB Brc"|j o|j Sr%)rrrs r_is_suitable_radio_buttonz"MenuPage._is_suitable_radio_buttons= 6%66rNFc <tttj|jj|t jttt|_ |j |j ||_ |j|t jd|jd} | |j|j|j | t j} t jd| d} | | |j|j | t j} | dt.jj| dd t jd | d } | | |j|j | d} t5|t6r|rh|D]e}||vr_d ||}|j dt?||g}||kr|} f| D]d\}}|r||vrYd |}|j dt?||g}||kr|} enp|D]m}d |d}|j dt?|d|g}|d|kr|} n| r|j !| dd|"dS)NSelr)activeOptionr)markupz wrap-modez wrap-widthi Descriptionrr9 FT)#r#rrrrqrr rrrrrrrrR set_radiorar;set_cell_data_func on_cell_funcr:r<rrWrapModeWORDrrGrrrr1items set_valuer)rparrrrany_okorderextrasrcolumn cell_textrend desc_column default_iterrrr6rWr0s rrzMenuPage.executesO ### dj)3///]4c22  DJ'''   d<<>>???#E4;qAAA!!$+t/@AAA '''(** #HiBBB!!)T->??? '''#%% +u~':;;; ,,,,(1EEE &&tT->???  ,,,  gt $ $ ( 0#00F(("xx(=(=(?(?@@#z00%69J9JD1QRR!W,,+/L '  , , ,e 3 388DJJLL11D:,,eYv5F5F-MNND(('+  , ( (xxA //z((%3q61B1BD)IJJq6W$$#'L  8 J q$ 7 7 7 rc|jsItj|}|jD],}|j|kr|jsd|d<|d |d<'d|d<-n"|j|d |j|d<|dS)NTrF)rr TreePathrrrr)rrHrdata selected_pathr0s rrXzMenuPage.on_toggle%s} :L..Mz # #8},,=,!%A%(VA"CFF #'+j&6q&9"9DJt Q  rc2||drt|tjr#|d|jddS|d|jd|d|jddSt|tjr#|d|jddS|d|jd|d|jddS)Nrzcell-backgroundrBrLrNrC)rrr rQrrLrN)rrtcellritr{s rrkzMenuPage.on_cell_func4s  ??2q ! ! K$ 677 M!!"3T_Z5PQQQQQ!!, 0KLLL!!, 0KLLLLL$ 677 K!!"3T_X5NOOOOO!!,0IJJJ!!,0IJJJJJr)NFNNF)rrrrrtrrrrrHrarrXrkr+rrr>r>sL---@;;; BBB 777BG271111f    K K K K Krr>cheZdZdZdZ ddZdZd Zd Zd Z d Z d Z dZ dZ dZddZdZdS)HandleBTSQueryPageTrNr4Fnoc Xtt||_||_||_||_||_||_|rtj j |_ tj |}|d}|stdt!|t"r(|}| r|dz }dtj |dd|}n;dtj |dddd|D}|j|jj| tj||||| ||| \}}}nM#t0$r@}d tj |dd t3|d }t5|d}~wwxYw |s|t6t8|d krd|fz}nd}g}|D]O\}}t;|d|} ||t?tAtB| fP||fifS#t6$rt6wxYw)Nbtsrootz(source)z Querying namez$ bug tracking system for reports on z! bug tracking system for reports rhc,g|]}t|Sr+)r).0xs r z9HandleBTSQueryPage.sync_pre_operation..bs?yRyRyREFy|}~yyyRyRyRr)r/rr0r2sourcezUnable to connect to z BTS (error: "z"); rz%d bug reports foundzOne bug report foundc|jSr%)r)bs rrSz7HandleBTSQueryPage.sync_pre_operation..|sr)keyreverse)"r#rr.r/r0r1r2r-r rCONFIRMrrSYSTEMSrrrrrrrrVset_progress_label get_reportsrrrrrsortedrlistmapr)rrr.r1r/r0r-screenr2rrrbuglistmbox_reader_cmd latest_firstsysinforootpkgnameprogress_labelcountsectitle hierarchyrerrmsgreportcategorybugss rrz%HandleBTSQueryPage.sync_pre_operationGs )*** $   "  ; 2:DN/#&{{9%% #T"" " gs # # TG &:%T[TcdgThioTpTpTpryryzNN  TRYQ`adQeflQmQmQmorowowyRyRJQyRyRyRpSpSpSTN 001RTbccc (+2+>#w%,I,I,I (UHii ( ( ( (FMoVYFZ[aFbFbFbdhijdkdkdkdklF'' ' (  .$#O L1995@HH5H&/GGNHd$T/B/BLYYYGMM8T#c72C2C-D-D"EFFFF)2--   O s%- E F;FFA:HH)c`tt|jdSr%rrs rrzHandleBTSQueryPage.setup_focusrrc tttjd}tjd|_||jdddtjd}tjd}||dddtj|_ ||j dddtj }| tj tjtjj|tjj|d |j||ddd||dddtj|_|jdt3|j}gd |_t7|jt9t;t=|jD]e}tj|dtj |d  }|!d|j"|f||dddtj d }| tj tj#tjj$|d |j%||ddd|S)NrkrizCList of bugs. Select a bug to retrieve and submit more information.rpFTzFilter:rrK) IDTagPackagergStatus SubmitterDateSeverityVersionz Filed datez Modified daterr9z#Retrieve and submit bug information)&r#rr rwrrqryrzrrrQrSr|r} STOCK_CLEARr~MENU set_relief ReliefStylerOr^on_filter_clearr"rr#rKcolumnsziprrrr;r<set_reorderabler: STOCK_INFOrUon_retrieve_info)rrxrrqr\rJcolrts rrz HandleBTSQueryPage.create_widgets ###x"""Y%jkkk   E4333x""" *** udA...Y[[   D$22211#/3 >CJ((s33E > ,,T377#==zz||Z+11#66  E}}tturctt||}|j|sI|sG||}|r.||rdS||}|.dS|Sr)r#rrr iter_parent iter_children iter_next)rrr6 user_datamatchesrs rfilter_visible_funcz&HandleBTSQueryPage.filter_visible_funcs #####D))z%%d++ G $$T**B )$$R(( 4__R(( )5rc tttj|jjd|zt jtgt|j z|_ |D]}dgt|j z}|d|d<|j d|}|dD]=}|j |ttt|>|jt jjd|j _|j |_|j|j|j|jdS)Nz^%s. Double-click a bug to retrieve and submit more information, or press 'Next' if none match.rrr4)r#rrrrqrr TreeStorerrrrrrrrr$rrr filter_newrset_visible_funcrrr)rrrrr0r6rs rrzHandleBTSQueryPage.executes` ### dj),LOW,W X X X]cUS->->%>@  = =H&3t|,,,Ca[CF:$$T3//D{ = = !!$Sc]](;(;<<<< =  1 :;;;!# j++--  $$T%=>>> DK(((((r) Nr4FNrFNNNNFr%)rrrrrrrrrrrrrrrrrr+rrrrCsLmq>BZ_====~   !!!F>>>            )))))rrc2eZdZdZdZdZdZdZd d Zd S) ShowReportPageTc zttt|jdddddddd |_|jSr%)r#rr$rVrors rrzShowReportPage.create_widgets; ###DND$dD$PTVZ[[ yrc.ttdSr%rrs rrzShowReportPage.get_value rrc.ttdSrtrrs rrzShowReportPage.is_validrrctt|drtjj|_||fS)Nr-)r#rrr rrrrs rrz!ShowReportPage.sync_pre_operations<)*** ::k " " ; 2:DNV|rFr4rNc 0tt||j_||j_||j_||j_||j_||j_||j_ |j | dSr%) r#rror,r.r/r0r1r-r2rnr) rr,systemr/r0r1r-rr2rs rrzShowReportPage.executesx ###!  # ) # ' %   r)Fr4rN) rrrrrrrrrr+rrrrsj       rrceZdZdZdZdZdS)DisplayReportPageTctttj|_|jdt |j}|Sr)r#rr rrrrK)rrJs rrzDisplayReportPage.create_widget)sG ###LNN  u%%%$TY//rctt|r||z}|j|dSr%)r#rrrrrrarRs rrzDisplayReportPage.execute0sI ###  %nG ''00000rNrrrrrrr+rrrr&s811111rrceZdZdZdZdZdS)LongMessagePageTctttj|_|jd|jtjj|j d|j ddtj }| |j|S)NTrrF) r#rr rrqrrrrrrr*rG)rebs rrzLongMessagePage.create_widget;s ###Y[[    &&& s05666 !!$'''  U333 \^^ tz rctt||z}dd|D}d|vrd|z}t j|jj|dS)Nz c3K|]}||V dSr%r+)rrps r z*LongMessagePage.execute..Ks'IIcSIcIIIIIIrnnnnnnzThank you for your report. )r#rrrrrrqrrs rrzLongMessagePage.executeFsy ###D.++IIW-?-?-A-AIIIII w  6@G dj)733333rNrr+rrrr8s8   44444rrc0eZdZejjZdZdZdS)FinalMessagePageTcXtttj|g|Ri|dSr%)r#rrrrs rrzFinalMessagePage.executeUs7 ###6t666v66666rN) rrrr rSUMMARYrrrr+rrrrQs4%-I77777rrc:eZdZdZdZdZdZdZdZd dZ d S) EditorPagec&tttjd}tjd}|tjddddtj|_||jddd||dddtj |_ tj |j |_ |j tjd |j tjjt( ddlan#t*$r t,aYnwxYwt(t,ur1 t(|j n#t0$rYnwxYwt3|j }||dddtjd }tj}|tjd |d||_t3|}| |||dddt(t,urtj!tjd }|"d|#d|$d|%d d |&tj'j(|j)*dfd|ddd|S)Nrkrir&r rpFTr)r MonospacezOther system informationzDPlease install python3-gtkspellcheck to enable spell checkingrrzbutton-press-eventc,Sr%rO)rRboxs rrSz*EditorPage.create_widget..sCKKMMr)+r#rr rwrzryrrrr Buffer info_bufferViewr modify_fontrFontDescription set_wrap_moderlrm gtkspellcheck ImportErrorNotImplemented SpellCheckerrrKrrrrr others_bufferrGr*rrrr modify_bg StateTyperKrr^)rrxrrJrrrqrs @rrzEditorPage.create_widget[s. ###x"""x###  444eT1EEEy{{   dD!444 eT1---$+--N$*:;;;  e3K@@AAA  1222   /$$$$$ / / / .  /  . . **495555    $TY// $a000<112LMM|~~ .{;;<<< %   !__..$T** X %q111 N * *,..CI$jkkkE   & & &    % % %   & & &   {E 2 2 2 GGENNN MM#-.0B C C C KK,.I.I.I.I J J J OOCa 0 0 0 s$ EE%$E%7F F$#F$ctt|dat |jdd5}|tddddS#1swxYwYdS)Nrwbackslashreplace)errors)r#rrreport_messageopenfilenamewrite)rfs rrzEditorPage.switch_outs ###))!, $--? @ @ @ $A GGN # # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $sA..A25A2ctt|jd|j|jd|jdSr)r#rrr^rrrs rrzEditorPage.connect_signalssK ###   DM::: Y 66666rctt|j|j|jd}|sdS|j}|sdS|j ||j |}|||j kfSrt) r#rrrrrr<rrrr"ra)rrrras rrzEditorPage.get_values ###(()9)H)H)J)J)-)9)F)F)H)H)-//zz|| 4,''))//11}} 4 (((+,,T22DL011rcxtt|jd|j|_dS)Nzfocus-in-event)r#rrr^on_view_focus_in_event focus_in_idrs rhandle_first_infozEditorPage.handle_first_infos4 ###9,,-=t?Z[[rctt|jd||jdSr3)r#rrr disconnectr)rrrRs rrz!EditorPage.on_view_focus_in_eventsB ### !!"%%% ()))))rutf-8ctt||_t||_||_||_|j|j |j |j |j }| dkrd}||j|dS)NzDear Maintainer,zXPlease type your report here. The text will be wrapped to be max 79 chars long per line.)r#rrarrr charsetrrrrrr r<rr)rrar editorrrs rrzEditorPage.executes ### ((     dk5577888 ##DK$:$:$<$<==={,,.. ::<<- - -nD  " " $ $ $ !!$'''''rN)r) rrrrrrrrrrr+rrrrZs444l$$$777 2 2 2\\\*** ((((((rrc0eZdZdZdZdZdZdZdZdS)SelectOptionsPageFcttttj|_|jd|jtjjtj d|_ |j |jdddd|_ |j S)NTrkriF) r#rr rrqrrrrrwrxryrrs rrzSelectOptionsPage.create_widgets ###Y[[    &&& s05666HQ'''  TZa888 yrctt|j||jdSr%r#rrrarVrb)rr\menuopts r on_clickedzSelectOptionsPage.on_clickedsA ### ''000 ##%%%%%rcVttttdSr%)r#rrrr_s ron_display_clickedz$SelectOptionsPage.on_display_clickeds$ ###>*****rctt|jrVd|jj_d|jj_|j|jdSdSrt)r#rrprops can_default has_default grab_defaultrrs rrzSelectOptionsPage.setup_focussl ### < &-1DL  *-1DL  * L % % ' ' ' L # # % % % % %  & &rc4tt|dd}tj|jj|g}|D]}||}d|vr"d|vr'd|vrFtj d}| d|j | |qtj }tj ||}||| d|j||rp|d |z||_|d tj|d |x| ||D]}|j|d d d  |jdS) Nz (e to edit)r4z Change editorz"Pipe the message through the pagerzPrint message to stdoutzDisplay message in a text viewrprKr.rFT)r#rrrrrqrrr rQr^r rrrGrisupper set_markuprrinsert HSeparatorrxryr`) rrmenuoptsrrrrWr\rqs rrzSelectOptionsPage.executes ### r22 dj)6222 + +G7==??+D$&&3t;;(D00*JKKKy$*ABBBv&&&&  (@AAA 5!!!y$/7==??KKK??$$+$$[5>>3C3C%CDDD#)DLNN1cn&6&6777NN1f----NN6**** 9 9F I a 8 8 8 8 rN) rrrrrrr rrr+rrrrse&&& +++ &&&$$$$$rrc$eZdZdZdZdZdZdS) SystemPageFctttj}t|_|jd|jd|j | |jdddtj }| |j | |ddd|S)NTz child-exitedrF)r#rr rzVteTerminalterminalset_cursor_blink_moder^on_child_exitedry VScrollbarset_adjustmentget_vadjustment)rr scrollbars rrzSystemPage.create_widgets ###xzz   ++D111 nd.BCCC  tT1555N$$   !>!>!@!@AAA  5$222 rctt|j||jdSr%r)rr1 exitstatuss rr3zSystemPage.on_child_exitedsA ### '' 333 ##%%%%%rc tt|jtjjtjddd|gdtj jdddd dS)NHOMEz /bin/bashz-cr9) r#rr1 spawn_asyncr/PtyFlagsDEFAULTr&environr SpawnFlags)rcmdlines rrzSystemPage.execute$s ### !!#,"6 68J[Z^`gLhjnptpqHJNPTVXZ^ _ _ _ _ _rN)rrrrrr3rr+rrr-r- sL   &&& _____rr-c>eZdZejjZdZdZdZ dZ dS) ProgressPagec`tt|jdSrt)r#rr5r;rs rr;zProgressPage.pulse,s) ### trctttjd}tj|_|jd|jtjj tj |_ |j d| |jddd| |j dddtjd|j|S)NrkriTr'Frrh)r#rr rwrrqrrrrr4r5r6ryrr:r;rs rrzProgressPage.create_widget1s ###x"""Y[[    &&& s05666))  $$T***  E4333  udA666 TZ((( rcltttj|jj|dSr%)r#rrrrqrrs r set_labelzProgressPage.set_label>s- ### dj)400000rcXtt|ddS)NzThis operation may take a while)r#rrGrs r reset_labelzProgressPage.reset_labelBs) ### 899999rN) rrrr rPROGRESSrr;rrGrIr+rrrCrC)s[%.I   111:::::rrCc\eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdS)ReportbugAssistantctttj|||_|d|d|_d|_ d|_ | dd| |j ||dS)NrTrgr)r#rr Assistantrtrr_ hack_buttons showing_pagerequested_page progress_pagerset_forward_page_funcforwardr setup_pagesrrs rrtzReportbugAssistant.__init__Hs ### t$$$& {###  "! c3''' ""4<000  rcttt|tjrd|dkr|d|jdS|dkr|d|jdS|dkretj tj tj j }| d||dS|dkretj tjtj j }| d||dSt|tjr||jdSdS)Nz gtk-go-backrz gtk-applyz gtk-cancel_Quitzgtk-go-forward _Continue)r#rrr rQ get_labelr^ on_back_showr|r} STOCK_QUITr~rUrGrSSTOCK_GO_FORWARD Containerforall _hack_buttons)rrHrs rr`z ReportbugAssistant._hack_buttonsWs ### fcj ) ) !!]22vt'8999!![00vt'8999!!\11 00141DFF  )))  '''!!%555 001Es|GZ[[  ---  ''' fcm , , . MM$, - - - - - . .rcXtt||dSr%)r#rr`rs rrOzReportbugAssistant.hack_buttonsrs* ### 4     rc<tt|d|j|d|j|d|j|d|j|d|jdS)Ncancelpreparez delete-eventapplyclose)r#rr^ confirm_exit on_preparerfrs rrz"ReportbugAssistant.connect_signalsvs ### Xt0111 Y000 ^TZ000 Wdj))) Wdj)))))rcVtt|dSr%)r#rhiders rr[zReportbugAssistant.on_back_show~s! ### rctt|jr|j|jkrs||jjkrQ|j|jj d|j |j |_|j|j kr|j tj|jjdSr)r#rrPrQget_current_pagerrr}rH set_sensitiverrorRrIrrr)rrVrHs rrhzReportbugAssistant.on_prepares ###   +!2d6I!I!IdNcNcNeNehlhyiCOCOC   + + - - -   $ 2 25 9 9 9   ( ( * * *"K   2 2 2   * * , , , d'344444rcJtttdSr%rrks rrfzReportbugAssistant.closerrcvtttjdtjjtjjztjjtj j d}| }| |tj jkrtdSdS)Nz(Are you sure you want to quit Reportbug?)r#rr rUrWrXrYrZWARNINGr\YES_NOr@rPrYESr,)rrRrbrMs rrgzReportbugAssistant.confirm_exits ###"4)>Ad)d#&?#:COttfd}|S)Nc(ttt} |j|i|\}}n#t $r}|jcYd}~Sd}~wwxYwtj|jg|Ri|t Sr%) r#rrrrrrrrrz)rRroprklassparents rrzcreate_forwarder..func/s)***  , ,UF ; ; 020$A&AALD&&   8OOOOOO +B,@R4RRR6RRR))+++sA A AAAr)rrrs`` rcreate_forwarderr,s8%&&&,,,,,, Krctt|D]$\}}t||t |<%dSr%)r#rrnrglobals)r operations operationrs rforward_operationsr<sV%&&&&,,..?? 5/>> )??rc tjddddlman #tt f$r d}t jdt jj t jj zt j j t j jd}||dz||t jr&t jt j&t(jst/jdddd Yd SwxYwt3jat6st;d t6t2ja t(j!}tD#|t(_!t j$%tLtOa(tP)tUtPtVtP,tZtPa.tUt\t^d S) Nr/z2.91r)r/zxPlease install the %s package to use the GTK+ (known as 'gtk' in reportbug) interface. Falling back to 'text' interface.zgir1.2-vte-2.91zx-terminal-emulatorz-ezreportbug -u textFz"Could not acquire new main-contextT)0girequire_version gi.repositoryr/r ValueErrorr rUrWrXrYrZr[r\r]r(r@rPevents_pendingmain_iterationsysstdoutisattyr&execlprrrr8rr9rrrrrWindowset_default_icon_from_filerrrrrnrdialogsrrLrVpages)rarbrs r initializerBs 5&)))%%%%%%%  $   %"4)>Ad)d#&?#79NPTVV'$<<===  "" !    "" !z  "" _ I+-BDJ] ^ ^ ^uu (**  $ $ & &CABBB))+++ !))++JnG$66w??CNJ))+666&((K{G,,,//0BKPPIy%((( 4sDD<;D<c.ttdSrtrr+rr can_inputrss%&&& 4rr)\reportbug.exceptionsrr&r?rrrrrrr r r require_foreignrrrerrurr(rr)rrr reportbugrreportbug.urlutilsrISATTYrrrr#r,r1compiler5r7r=rKrcrsrerrrobjectrrr*r)r$rerrrrrrrrrrr rr>rrrrrrrr-rCrNrLrUr{rrrrrrrrrrrrr+rrrsb 0100000 RZ#4 #B#B /S T TT] IIIBvu%%%""""""Bw&&&######Bue$$$!!!!!!B{E***''''''Bue$$$!!!!!!B{C(((''''''Bw]]] /[ \ \\]  AAAAAAAAAA------ 2   K K K(((G$$%%%       "1"1"1"1"13:"1"1"1J%%%%% %%%"+++++l+++\@!!!!!&!!!:OTOTOTOTOTOTOTOTf{{{{{clI,{{{|0=====9+===D        W*W*W*W*W* W*W*W*t4.....D...bm$$$$$$$$$$t$$$$$$Nt