<commit_before>#ifndef JOBWIDGET_H
#define JOBWIDGET_H

#include "persistentmodel/job.h"
#include "ui_jobwidget.h"

#include <QWidget>

class JobWidget : public QWidget
{
    Q_OBJECT

public:
    explicit JobWidget(QWidget *parent = nullptr);
    ~JobWidget();

    JobPtr job() const;
    void setJob(const JobPtr &job);

public slots:
    void save();
    void saveNew();
    void updateMatchingArchives(QList<ArchivePtr> archives);

signals:
    void collapse();
    void jobAdded(JobPtr job);
    void inspectJobArchive(ArchivePtr archive);
    void deleteJobArchives(QList<ArchivePtr> archives);
    void restoreJobArchive(ArchivePtr archive, ArchiveRestoreOptions options);
    void backupJob(JobPtr job);
    void enableSave(bool enable);
    void findMatchingArchives(QString jobPrefix);


protected:
    void changeEvent(QEvent *event);

private slots:
    void updateDetails();
    void restoreButtonClicked();
    void backupButtonClicked();
    bool canSaveNew();
    void showArchiveListMenu(const QPoint &pos);
    void fsEventReceived();
    void showJobPathsWarn();
    void verifyJob();

private:
    Ui::JobWidget  _ui;
    JobPtr         _job;
    bool           _saveEnabled;
    QTimer         _fsEventUpdate;

    void updateUi();
};

#endif // JOBWIDGET_H<commit_msg>JobWidget: make a function private<commit_after>#ifndef JOBWIDGET_H
#define JOBWIDGET_H

#include "persistentmodel/job.h"
#include "ui_jobwidget.h"

#include <QWidget>

class JobWidget : public QWidget
{
    Q_OBJECT

public:
    explicit JobWidget(QWidget *parent = nullptr);
    ~JobWidget();

    JobPtr job() const;
    void setJob(const JobPtr &job);

public slots:
    void saveNew();
    void updateMatchingArchives(QList<ArchivePtr> archives);

signals:
    void collapse();
    void jobAdded(JobPtr job);
    void inspectJobArchive(ArchivePtr archive);
    void deleteJobArchives(QList<ArchivePtr> archives);
    void restoreJobArchive(ArchivePtr archive, ArchiveRestoreOptions options);
    void backupJob(JobPtr job);
    void enableSave(bool enable);
    void findMatchingArchives(QString jobPrefix);


protected:
    void changeEvent(QEvent *event);

private slots:
    void updateDetails();
    void restoreButtonClicked();
    void backupButtonClicked();
    bool canSaveNew();
    void showArchiveListMenu(const QPoint &pos);
    void fsEventReceived();
    void showJobPathsWarn();
    void verifyJob();

private:
    Ui::JobWidget  _ui;
    JobPtr         _job;
    bool           _saveEnabled;
    QTimer         _fsEventUpdate;

    void save();
    void updateUi();
};

#endif // JOBWIDGET_H
{'fraction_non_alphanumeric': 0.09412216673069534, 'fraction_numerical': 0.0, 'mean_word_length': 3.7955801104972378, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5685034', 'n_tokens_mistral': 813, 'n_tokens_neox': 794, 'n_words': 203}